【发布时间】:2016-09-28 05:01:49
【问题描述】:
我有一个包含代码的文件
shell_exec (php test.php)
当我从命令提示符运行这个文件时,它运行成功,当我试图通过网络浏览器运行同一个文件时,这将给出错误
sh: php command not found.
可能是什么问题?
【问题讨论】:
我有一个包含代码的文件
shell_exec (php test.php)
当我从命令提示符运行这个文件时,它运行成功,当我试图通过网络浏览器运行同一个文件时,这将给出错误
sh: php command not found.
可能是什么问题?
【问题讨论】:
问题在于 php 路径。所以我就这样做了
if(defined('PHP_BINARY') && PHP_BINARY)
{
$path = PHP_BINARY . '/php'; //PHP >= 5.4
}
else if(defined('PHP_BINDER') && PHP_BINDER)
{
$path = PHP_BINDER . '/php'; //PHP < 5.4
}
else
{
//Throws Exception
}
然后在shell命令中将此变量用作
shell_exec ($path test.php)
【讨论】:
您能否提供您正在使用的网络服务器的信息? 如果您使用的是 apache,您可以为 php7 安装 libapache2-mod-php7.0。
ToDo 这个apt 派上用场了:
apt-get install libapache2-mod-php7.0
或尝试激活它
sudo a2enmod php7.0
确保 php 文件被标记为 webserver 用户可执行(例如 www-data)
sudo chmod -R o+x *.php
【讨论】: