【发布时间】:2015-09-07 05:39:20
【问题描述】:
我有一个使用 Rackspace Cloud Sites 的客户,他们在他们的平台上宣传 PHP 5.4,但我通过他们的在线支持得知无法使用特征。
使用特征时,我收到 500 错误并且发现代码没有问题,我要求他们的在线支持人员告知“在我们的环境中不允许这样做”。使用下面的基本 PHP 示例代码会导致 500 内部服务器错误:
class Base {
public function sayHello() {
echo 'Hello ';
}
}
trait SayWorld {
public function sayHello() {
parent::sayHello();
echo 'World!';
}
}
class MyHelloWorld extends Base {
use SayWorld;
}
$o = new MyHelloWorld();
$o->sayHello();
是否有某些原因会禁用特征,或者甚至可以禁用它们? phpinfo() 报告的版本是5.4.10。
【问题讨论】:
-
什么? ???这是我听过的最奇怪的事情。没有合理的理由禁用特征;这不像是一个安全关键功能。当您使用它时,不妨禁用类和接口。确定那个代表不是在背后说什么?
-
@deceze 他们也是我的想法,因此也是这个问题。代表说他们不知道为什么,并且回应来自运营团队。我希望其他拥有 rackspace 云站点托管的人可以复制这个问题,也许其他人可能有原因。
-
这太疯狂了。我以前从未听说过这样的事情。如何禁用特定语言功能?