在安全模式下运行shell命令 - php

时间:2014-02-21 06:43:19

标签: php shell shell-exec

我想在我的服务器上执行shell命令。我正在使用shell_exec()来达到这个目的。问题是在安全模式打开的情况下会出错:

PHP Warning:  shell_exec(): Cannot execute using backquotes in Safe Mode

同样我不想关闭安全模式。无论如何以安全模式或任何其他命令执行此操作是为了相同的目的吗?

2 个答案:

答案 0 :(得分:2)

Safe Mode disables shell_exec()

  

shell_exec()(功能相当于反引号)当PHP以安全模式运行时,此功能被禁用。

安全模式的重点是防止PHP脚本中的shell级别执行。所以,不,除非你编写自己的PHP扩展,否则没有办法解决它。

另外,请注意Safe Mode is DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0

答案 1 :(得分:2)

您的要求是转储mysql,并且没有MySQLi库。所以你可以做的是,创建一个执行mysqldump的PHP扩展(你可以使用C中的system函数),安装扩展并从PHP中调用它作为函数。

如何创建PHP扩展的示例如下:http://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/