在PHP中执行bash脚本

时间:2013-05-28 10:59:41

标签: php bash postgresql debian shell-exec

我需要通过位于bash文件夹中的pg_dump文件执行一个PHP脚本,该脚本主要包含/var/www/和一些log,clean,...

我的服务器是Debian Squeeze 6.0.6,最近安装了PHP5Apache2

我的index.php文件夹包含以下代码:

<?php
echo shell_exec('./backup_database');
?>

该脚本似乎有效,因为我在浏览器中输出了日志,但pg_dump未执行。

显然,如果我手动运行脚本就行了。

该脚本与index.php位于同一文件夹中,我在这两个文件和父目录上使用了chmod 777。

P.S。我在服务器配置方面知识匮乏,尽可能具体:

1 个答案:

答案 0 :(得分:1)

尝试

<?php
 exec('./backup_database');
?>

但我认为你的backup_database需要.sh结尾才能执行。然后它应该看起来像这样

<?php
 exec('sh ./backup_database.sh');
?>

或者

<?php
 exec('./backup_database.sh');
?>

我不太确定这两种解决方案中的哪一种可能对您有用