php 个脚本获得 'exec format error' 或 'permission error'
php scripts get 'exec format error' or 'permission error'
我尝试在全新的 suse enterprise linux 12 安装上执行任何脚本时遇到 'exec format error' 或权限错误。它适用于 sles 11,但现在,甚至 phpinfo 也不起作用。
所以为了测试,我使用了这条简单的线
<?php phpinfo(); ?>
在命令行上通过 php -f test.php
工作正常。当使用 cgi 目录中的 url 从浏览器调用它时,会导致错误 500.
apache 错误日志显示 'exec format error' 和 'end of script before output headers' 当 运行 它的所有者 root:root 没有 shebangand 行时。
当我添加一个明确的 header 和一个 shebang 行时,脚本看起来像这样
#! /usr/bin/env php
<?php
header('Content-Type: text/html');
phpinfo();
?>
结果是 apache 日志文件中的 'malformed header' 错误。
文件的权限一直设置为-rw-r--r--
。将所有权从 root:root 更改为 wwwrun:www 时,没有任何变化。从正常的 htdocs 目录,浏览器提示下载文件。
我已确保安装了 bot php5 和 apache2-mod_php5 软件包。
如果有人能就如何获得 php 脚本 运行 给出提示,我会很高兴。谢谢!
好的,我自己想出来了:
mod_php5 软件包已安装,但并未自动激活。做:
a2enmod mod_php5
rcapache2 restart
文件需要配置如下:
-rwxr-xr-x 1 wwwrun www 54 Feb 13 13:43 test.php
我尝试在全新的 suse enterprise linux 12 安装上执行任何脚本时遇到 'exec format error' 或权限错误。它适用于 sles 11,但现在,甚至 phpinfo 也不起作用。
所以为了测试,我使用了这条简单的线
<?php phpinfo(); ?>
在命令行上通过 php -f test.php
工作正常。当使用 cgi 目录中的 url 从浏览器调用它时,会导致错误 500.
apache 错误日志显示 'exec format error' 和 'end of script before output headers' 当 运行 它的所有者 root:root 没有 shebangand 行时。
当我添加一个明确的 header 和一个 shebang 行时,脚本看起来像这样
#! /usr/bin/env php
<?php
header('Content-Type: text/html');
phpinfo();
?>
结果是 apache 日志文件中的 'malformed header' 错误。
文件的权限一直设置为-rw-r--r--
。将所有权从 root:root 更改为 wwwrun:www 时,没有任何变化。从正常的 htdocs 目录,浏览器提示下载文件。
我已确保安装了 bot php5 和 apache2-mod_php5 软件包。
如果有人能就如何获得 php 脚本 运行 给出提示,我会很高兴。谢谢!
好的,我自己想出来了:
mod_php5 软件包已安装,但并未自动激活。做:
a2enmod mod_php5
rcapache2 restart
文件需要配置如下:
-rwxr-xr-x 1 wwwrun www 54 Feb 13 13:43 test.php