sh: php command not found 来自网络浏览器的错误
sh: php command not found error from web browser
我有一个包含代码的文件
shell_exec (php test.php)
当我从命令提示符 运行 这个文件时,它 运行 成功,当我试图通过网络浏览器 运行 相同的文件时,这将给出错误
sh: php command not found.
可能是什么问题?
能否提供您使用的网络服务器的信息?
如果您使用的是 Apache,则可以为 php7.
安装 libapache2-mod-php7.0
ToDo 这个apt派上用场了:
apt-get install libapache2-mod-php7.0
或尝试激活它
sudo a2enmod php7.0
确保 php 文件标记为网络服务器用户可执行文件(例如 www-data)
sudo chmod -R o+x *.php
问题出在 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)
我有一个包含代码的文件
shell_exec (php test.php)
当我从命令提示符 运行 这个文件时,它 运行 成功,当我试图通过网络浏览器 运行 相同的文件时,这将给出错误
sh: php command not found.
可能是什么问题?
能否提供您使用的网络服务器的信息? 如果您使用的是 Apache,则可以为 php7.
安装 libapache2-mod-php7.0ToDo 这个apt派上用场了:
apt-get install libapache2-mod-php7.0
或尝试激活它
sudo a2enmod php7.0
确保 php 文件标记为网络服务器用户可执行文件(例如 www-data)
sudo chmod -R o+x *.php
问题出在 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)