好的,所以,我一直在使用自動加載器一段時間,變得相當習慣於MVC,並決定嘗試解決命名空間。那麼,這沒有按預期工作。我已成功地重現錯誤在一個非常簡單的方法,讓我的PHP文件的內容如下:PHP命名空間不工作 - 懷疑PHP配置問題
<?php
namespace site\test;
echo 'hello';
輸出是不是我所期待的:
致命錯誤:命名空間聲明語句必須是文件第2行中的第一條語句
我在Synology NAS上使用最新版本的DSM(Synology的操作系統)運行PHP 5.3.10。這使用了Apache v2.2.22。我可以確認,註釋掉「命名空間」行後面會返回單詞「hello」,在它之前沒有多餘的字符。
文件開頭沒有BOM。我也沒有設置標題的問題,如「位置」,這表明這是一個問題。
行尾是Unix(僅限\ n),文件的字符編碼是UTF8。
PHP設置「auto_prepend_file」爲空。
這同樣適用於使用命名空間的第三方文件,還是僅適用於您創建的文件? – 2013-02-13 21:49:40
@ dev-null-dweller - 使用命名空間的所有文件。 – SEoF 2013-02-13 22:12:29