3

PHPの一部が、あるサーバーでは正しく実行されないが、別のサーバーでは正しく実行されることに気づきました。

どちらも、PHP PHP5.3.2でUbuntu10.04を実行しています(Suhosin-Patch(cli)を使用したPHP 5.3.2-1ubuntu4.2(ビルド:2010年5月13日20:03:45))

私は以下を使用してテストしています:

$f = function() {};

var_dump($f);
die();

動作するサーバーでは、結果は次のようになります。

object(Closure)#1(0){}

そうでないものでは、結果は次のようになります。

不明:0

私は何が欠けていますか?

[編集]

同じファイルに2つのクロージャがあることに問題があるようです。

<?php
$f = function() {};
$f2 = function() {};

var_dump($f);
var_dump($f2);
die();

出力:

UNKNOWN:0
object(Closure)#1(0){}

4

1 に答える 1

2

phpinfoでircmaxellのヒントと組み合わせてさらにグーグルした後、私はeacceleratorのヒントを得ました。

コードを正しく実行したサーバーはeaccelerator0.9.6.1を実行していましたが、機能しなかったサーバーは0.9.6を使用していました。

ソースから新しいバージョンをコンパイルすると、問題が修正されました。

ありがとう!

于 2010-08-09T13:08:34.760 に答える