php在linux下调用system的有关问题
程序员文章站
2022-06-11 10:33:45
...
php在linux下调用system的问题
请教大家一个问题
$cmd = "\"".$basedir."bin\mysqldump.exe\" --default-character-set=latin1 -uroot -ptest ".$this->sql_handle->database." > ".$doc_root."\\test\\test.sql";
$stat = -1;
system($cmd,&$stat);
这段代码在windows里可以正确的导出数据库
没有用过linux,请教大家,在linux下应该怎么修改?
------解决方案--------------------
--default-character-set=latin1 -u root -p test 参数名与参数需用空格格开
".$doc_root."\\test\\test.sql" 路径分隔符是/
------解决方案--------------------
这个是个很简单的脚本 你自己参考吧
#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME="test"
DB_USER="username"
DB_PASS="password"
# Others vars
BIN_DIR="/usr/local/mysql/bin"
BCK_DIR="/home/mysql/backup"
DATE=`date %F`
# TODO
$BIN_DIR/mysqldump –opt -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BCK_DIR/db_$DATE.gz
------解决方案--------------------
linux 用exec
exec("mysqldump -uroot -p database table > /www/..... /sql.sql ");
------解决方案--------------------
/usr/local/bin/mysqldump
没有 .exe
------解决方案--------------------
最好切换apache/nginx用户执行下那个mysqldump命令,确定不是权限问题。
------解决方案--------------------
/usr/local/bin/mysqldump -uusername -ppwd dbname > /usr/local/www/data/test/test.sql
确定有/usr/local/bin/mysqldump 这个文件,具体可用
var_dump( system("ls /usr/local/bin") );看看有没有'mysqldump'
修改/usr/local/www/data/test/权限到所有用户可写
一直都是直接在本机终端下做这些,用php没做过所以只能给你这点建议
请教大家一个问题
$cmd = "\"".$basedir."bin\mysqldump.exe\" --default-character-set=latin1 -uroot -ptest ".$this->sql_handle->database." > ".$doc_root."\\test\\test.sql";
$stat = -1;
system($cmd,&$stat);
这段代码在windows里可以正确的导出数据库
没有用过linux,请教大家,在linux下应该怎么修改?
------解决方案--------------------
--default-character-set=latin1 -u root -p test 参数名与参数需用空格格开
".$doc_root."\\test\\test.sql" 路径分隔符是/
------解决方案--------------------
这个是个很简单的脚本 你自己参考吧
#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME="test"
DB_USER="username"
DB_PASS="password"
# Others vars
BIN_DIR="/usr/local/mysql/bin"
BCK_DIR="/home/mysql/backup"
DATE=`date %F`
# TODO
$BIN_DIR/mysqldump –opt -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BCK_DIR/db_$DATE.gz
------解决方案--------------------
linux 用exec
exec("mysqldump -uroot -p database table > /www/..... /sql.sql ");
------解决方案--------------------
/usr/local/bin/mysqldump
没有 .exe
------解决方案--------------------
最好切换apache/nginx用户执行下那个mysqldump命令,确定不是权限问题。
------解决方案--------------------
/usr/local/bin/mysqldump -uusername -ppwd dbname > /usr/local/www/data/test/test.sql
确定有/usr/local/bin/mysqldump 这个文件,具体可用
var_dump( system("ls /usr/local/bin") );看看有没有'mysqldump'
修改/usr/local/www/data/test/权限到所有用户可写
一直都是直接在本机终端下做这些,用php没做过所以只能给你这点建议
相关文章
相关视频
上一篇: 做技术 有前途吗?
下一篇: 蓝桥杯历届试题 网络寻路
推荐阅读
-
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
-
完美解决linux下vim在终端不能用鼠标复制的问题
-
在Linux下配置和安装Domino 服务器的问题
-
解决在Linux操作系统下无法连接MySQL服务端的问题
-
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
-
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
-
NodeJs在Linux下使用的各种问题解决
-
在PHP+Apache+MySQL环境下(windows系统),连接SQLServer数据出现“can not find driver”问题的解决办法
-
php在linux下检测mysql同步状态的方法
-
Java在Mac OS X终端(Terminal.app)下 system.out.print 乱码的问题 javaosmacencoding