欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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没做过所以只能给你这点建议
php在linux下调用system的有关问题

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频