1

我试图在我的 ubuntu 12.04 服务器上安装 apc。它有效,但我注意到安装后(使用 apt-get install ... )页面不再正确编译。

我查看了我的 error.log,但没有像往常那样收到错误。它似乎正在像往常一样完美地编译 php。在我的本地服务器上运行的一个相同的 php 文件仍然可以正常工作。

我完全卸载了 apc(使用 apt-get remove 并通过 php.ini 检查),但它没有恢复到以前的状态。我认为这可能与缓冲或 http 客户端配置错误有关?我打开了缓冲并重新启动,但它仍然不起作用。

大家有什么推荐的设置吗?页面输出的来源如下:

 Invalid request, be sure to set all necessary keys.

通常它会显示在屏幕上,但现在屏幕完全是白色的。

关于可能发生的事情有什么想法吗?我不愿完全发布代码或网站地址,因为它包含对包含机密信息的数据库的访问。

编辑:该页面返回 404 页面错误。

4

1 回答 1

0

调查口译员的变化

我输入的每个以美元符号开头的名词都是变量的表示。我可以做出猜测,但这可能会使分析更加复杂。当我写“$afile”时,输入上一个列表中的一个文件名。

login to your server (i am assuming SSH to a Unix box)
cd $whatever_your_doc_root_is
find . -name '*.php'
# this should give you a biiiiig list of files
php -l $afile
# should report any errors

有趣的错误没有行号或文件名,并说“缺少扩展名 $blah”或类似的。

# edit the file you just compiled to have the following at the top
# this is untested, but looks correct...

error_reporting(-1);
# bool handler ( int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]] )
function h1($errno, $errstr, $errfile, $errline) {
     echo("$errfile#$errline: [$errno]$errstr\n");
     return true; 
} 
set_error_handler('h1'); 

然后运行不会更改数据库或其他任何内容的单个文件。

编译所有源

for x in `find . -name '*.php' ` do php -l $x; done

...这应该运行得很快

于 2013-08-14T18:09:43.633 回答