簡體   English   中英

可以在5.4.x中禁用PHP Traits嗎?

[英]Can PHP Traits be disabled in 5.4.x?

我有一個客戶使用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();

是否有某些原因導致Traits被禁用或甚至可能被禁用? phpinfo()報告的版本是5.4.10。

在與rackspace支持進行一些討論之后,問題似乎是xcache和一些項目(如traits)的執行。 將以下行添加到.htaccess可解決此問題:

php_flag xcache.cacher 0

似乎它不是機架空間問題,而是xcache問題。

不能禁用Php特征。 如果您對特征的使用有限,則可以注釋掉“使用”語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM