我有一個非常簡單的 PHP/Composer 應用程序,其結構如下:- src - content - test - Sandbox.phpSandbox.php 只有一個打印“test”的靜態函數,它的命名空間是namespace MyApplication\Content\Test;我的 autoload.php 有 MyApplication 一個“自動加載”屬性。"autoload" : { "psr-4": {"MyApplication\\": "src/"}},我composer install --no-dev在帶有 XAMPP 的 Windows 環境中運行,并在我執行的 test.php 文件中運行(為了進行非常簡單的測試):$autoloadFile = __DIR__ . '/wp-content/plugins/sandbox/vendor/autoload.php';require $autoloadFile;echo 'autoload = ' . file_exists($autoloadFile);echo '<br />';echo 'class_exists = ' . class_exists('MyApplication\Content\Test\Sandbox');當我在本地運行此 test.php 文件時,它運行良好。MyApplication 正在加載 Sandbox 類。但是,當我將其發布到我的服務器(基于 Linux 的服務器但運行在相同的 PHP 版本上)時,找不到沙箱類。我確保我的 /vendor/ 文件夾也已正確上傳。我想知道問題是否正在發生,因為我在 Windows 環境中運行 composer install 而它應該在我的服務器中運行相同的命令(目前我不能)。/vendor/ 文件夾上傳是否足以使自動加載類正常工作?
1 回答

交互式愛情
TA貢獻1712條經驗 獲得超3個贊
您文件的路徑是src/content/test/Sandbox.php
,根據 PSR-4,它應該是src/Content/Test/Sandbox.php
- 在 Windows 上它并不重要,但在 Linux 上它確實如此。
- 1 回答
- 0 關注
- 173 瀏覽
添加回答
舉報
0/150
提交
取消