0

目前我正在尝试使用 Nginx。我使用通过 repo 安装的最新版本让它工作。Nginx 独立运行一切正常。然后我通过可以运行不同版本的源安装了 PHP 5.5.1,而不影响生产网络服务器和 php 版本。(出于测试目的,Nginx 在另一个端口上运行,然后是 80。)

一切都很顺利。编译 PHP 5.5.1 没有错误,安装它,启动 PHP-FPM 并更改 Nginx 配置以在需要时调用 PHP FPM。我的第一个测试网站与这个版本完美配合。然后我尝试运行我创建的另一个网站。为此,我只更改了文档根目录。

然后我得到了非常奇怪的错误:

PHP Fatal error:  Call to undefined function apache_request_headers() in [...]

是的,不是真正的错误...所以我删除了该功能以测试网站在删除功能时是否正常运行,该功能在 PHP-FPM/FastCGI 模式下不可用。

然后再次尝试时日志中显示另一个错误:

PHP Parse error:  syntax error, unexpected ''INSERT ' (T_ENCAPSED_AND_WHITESPACE) in [...]

注释掉这个变量(仅用于测试)后,发生了另一个错误:

PHP Parse error:  syntax error, unexpected end of file, expecting ')' in [...]

所以我不知道为什么会发生这两个错误。第一个当然是改变的系统;功能不可用。

所以我的主要问题是:为什么我的代码在 FPM 模式下导致 PHP 5.5.1 出现这些错误?该网站在我的本地开发服务器(PHP 5.4 和 Apache)和生产服务器(Apache 2.2 和 PHP 5.4)上完美运行......我没有更改任何代码(除了 db 的配置文件等)。那么有人知道什么会导致这个问题吗?

如果您需要更多信息,请询问!

编辑:

错误一:

$sql = 'INSERT INTO ' . TABLE . ' 
(name) 
VALUES
("' . $name . '")
ON DUPLICATE KEY UPDATE name=VALUES(name)';

错误2:

'TEXT' => text::parse($row['text']),
4

1 回答 1

0

问题解决了。PHP 通过源代码重建并使用最新版本(5.5.2)。

于 2013-08-18T00:41:25.920 回答