PHP输出问号

我正在日本的服务器上部署一个应用程序。 该应用程序是我公司销售的产品,并已成功安装在许多其他服务器上,而没有出现这种问题。 该应用程序是用PHP / CodeIgniter编写的,并且在其他服务器上成功testing了相同的包。

问题是 – 应用程序只显示一些问号(然后死于一个错误,没有find某个类,尽pipe相同的代码在其他服务器上工作)。 一些应用程序文件使用Zend Guard进行编码Zend Optimizer在两台服务器上均可用。 我所尝试/发现的:

1)两个服务器上的主要PHP版本是相同的 – 5.2.x

2)Zend Optimizer版本相同 – 3.3.9

3)问号实际上是问号 – 输出到wget文件并在hex编辑器中打开 – 文件大多包含3F,其间有一些随机的HEX符号:

0000000: 3f3f 3f3f 3f3f 3f3f 3f3f 3f01 3f3f 3f3f ???????????.???? 0000010: 3f3f 3f3f 3f3f 3f3f 3f3f 203f 3f3f 3f3f ?????????? ????? 0000020: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000030: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000040: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000050: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000060: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000070: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000080: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000090: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 00000a0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 00000b0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 00000c0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 00000d0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 00000e0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 00000f0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000100: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000110: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000120: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 0000130: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ???????????????? 

4)我怀疑,这个问题与PHP设置有关 – 到目前为止,我已经尝试在php.ini中设置default_charset为'utf-8',但是这并没有改变任何东西。

5)预期的输出到应用程序崩溃的地步应该是没有任何输出的。 相反,我得到上面的输出(它继续以这种方式)。

6)PHP作为一个模块在Apache下运行。

任何想法可能会导致此? 这些文件被复制到服务器上,通过存档并在服务器上解压缩。

这些是响应标题 – 我没有看到任何可疑的东西。

 Date Mon, 31 Jan 2011 16:09:34 GMT Server Apache/2.0.63 (Red Hat) Content-Length 5339 Keep-Alive timeout=15, max=100 Connection Keep-Alive Content-Type text/html; charset=utf-8 

我首先在stackoverflow.com上问了这个问题,但是决定在这里重新发布它: https : //stackoverflow.com/questions/4852122/php-outputs-question-marks

编辑:我想我得到的地方 – 问题是与Zend优化器。 replace编码文件有帮助,输出如预期。 这会产生另一个问题 – 如何判断Zend Optimizer有什么问题? 编码的文件在不同的服务器上用相同版本的Zend Optimizer进行testing,并且运行良好。 在服务器上,PHP版本是5.2.14,在编码文件不工作的服务器上是5.2.13。

php.ini中:

 zend_optimizer.enable_loader=0 

错误足够神秘,但…