0

我在创建动态对象时遇到了一个奇怪的问题。

在我使用 PHP 5.3.10-1ubuntu3.8 的本地服务器上,此代码运行良好:

$sObjName = 'field_xyz';
$o = $oVendor->{$sObjName};
print_r($o);                //prints the object "$oVendor->field_xyz"

但是在我使用 PHP 5.3.13 的实时服务器上,相同的代码不起作用。我无法创建动态对象。

此代码在我的实时服务器上也不起作用:

$oVendor->$sObjName

否则,此代码适用于两台服务器:

$a = "Hello";
$$a = "World";
echo "$a ${$a}";      //prints out "Hello World"

我猜这是一个 php.ini 设置问题,但我真的不知道。

本地服务器与:实时服务器

当地的:

  • 真实服务器
  • PHP 5.3.10-1ubuntu3.8
  • Suhosin 补丁 0.9.10
  • Apache/2.2.22 (Ubuntu)

居住:

  • 虚拟服务器
  • PHP 5.3.13
  • 没有Suhosin
  • Apache/2.2.16 (Debian) PHP/5.3.13 mod_ssl/2.2.16 OpenSSL/0.9.8o
4

0 回答 0