exec("/usr/bin/mysqldump -h'210.14.65.107' -uroot -ppsswd AM | gzip > /var/www/html/s/dase.sql.gz");这段代码在linux服务器上,我直接连服务器用php /var/www/html/s/2.php执行 这个php 成功。但在windows下我用 url请求的方式执行这个php脚本 没有任何结果 不知道是怎么回事类?
调试欢乐多
那你就打开php的错误提示 你就能看到有什么原因了.
一般都是权限问题你上面有个帖子说是root 但是你要分清楚 apache 运行的帐号并非root.
所以有权限问题
下面是我的
User httpd
Group httpd
先看apache的http.conf,看看它是用什么用户运行的(apache启动肯定是root,因为要绑80端,然后根据配置文件setuid,setgid就把用户换掉继续运行了),或者ps aux | grep http 也能看到其有效用户ID对应的用户名,第一列应该就是,用户组不会看,你自己man ps研究研究。然后,看看/user/bin/mysqldump的用户主和用户组是什么,看看apache的用户是不是主人或者同组的,看看主和组的权限,否则看看其他用户权限。目标就是保证apache用户有执行mysqldump的执行权限。