除了这个函数以外,PHP 还有其他类似的函数,如 exec、system、passthru、proc_open,都可以用来执行 shell 命令。但是既然禁用了 shell_exec ,想必这些函数也被禁用了,颇有些因噎废食的意思。对于这个需求,只有一种解法,那就是单独创建一个网站,并且使用单独的 php.ini 配置文件,解除掉对这些函数的限制,并且整个项目就只有一个 php,只执行 git pull ,那你这个项目就是安全的。除非,你不信任 PHP 自身。🙂 那你就只有选一个你觉得安全的去启动一个 HTTP 服务,接受请求后执行命令。
除了这个函数以外,PHP 还有其他类似的函数,如 exec、system、passthru、proc_open,都可以用来执行 shell 命令。
但是既然禁用了 shell_exec ,想必这些函数也被禁用了,颇有些因噎废食的意思。
对于这个需求,只有一种解法,那就是单独创建一个网站,并且使用单独的 php.ini 配置文件,解除掉对这些函数的限制,并且整个项目就只有一个 php,只执行
git pull
,那你这个项目就是安全的。除非,你不信任 PHP 自身。🙂 那你就只有选一个你觉得安全的去启动一个 HTTP 服务,接受请求后执行命令。