2013-08-19 95 views
16

我有一個項目,我使用作曲家,我通過它導入了許多東西......我需要autoload.php在我的索引(項目的根目錄),並且Slim,Mongo,Twig工作得很好。但是當我打電話給一類尊重/驗證時,它不會工作;如果我只是使用敬/驗證錯誤是:爲什麼我的作曲家的autoload.php不起作用?

Class 'Respect\Validation\Validator' not found in (path of file when i need it).

如果我嘗試也需要這裏的autoload.php的錯誤是:

**Warning**: require_once(vendor/autoload.php): failed to open stream: No such file or directory in (path of file when i need it)

**Fatal error**: require_once(): Failed opening required 'vendor/autoload.php' (include_path='.;C:\xampp\php\PEAR') in (path of file when i need it)

+0

我已經在Composer/bin中通過cmd完成了它...dir = $(d = $(dirname「$ 0」); cd「$ d」$$ pwd)if -v'cygpath'>/dev/null 2>&1;然後dir = $(cygpath -m $ dir); fi dir = $(echo $ dir | sed's// \/g')php「$ {dir} /composer.phar」$ * - –

+0

您是否嘗試過使用相對路徑將文件autoload.php包含在哪裏你需要? –

+0

我試過了,就像我說的那樣,我說autoload.php沒有找到該文件,但是如果我只留下「使用」告訴我,告訴我我找不到Validator類。 –

回答

17

如果你在這樣一個特定的目錄使用文件(file.php):

/app/controller/validation 

和您的供應商目錄中的項目的基本路徑,你需要包括對供應商目錄的相對路徑:

../../../vendor/autoload.php 
22

嘗試使用php composer dump-autoload。它可以解決這個問題。

7

我做到了。 我一如既往地檢查了文件和權限,但一切看起來都不錯。然後我打開autoload.php,看看......哦!我們有__DIR__的課程。

我這樣做

require '../../vendor.autoload.php';

改爲

require __DIR__.'../../vendor.autoload.php';

不是政治正確的,但通過時間的時刻令人沮喪的浪費了我。

ofcourse有更好的選擇__DIR__就像使用BASE路徑等,但這對我工作。

+2

2016 ...我也搬到了python。 :P – Vangel

0

我有與xampp相同的問題。我安裝了作曲家並使用:

composer create-project --stability=dev --prefer-dist yiisoft/yii2-app-basic D:\xampp\htdocs\newapp 

我的問題現在解決了。

0

我有同樣的問題,我解決它通過使用laravel的最後一個版本,只是試試這個代碼來創建你的項目:

composer create-project laravel/laravel exampleProject --prefer-dist

這總是使用最新版本。

0

我解決了從項目Root簡單重新運行作曲家更新。 (我的情況是在Magento2,但錯誤和路徑是相同的)

0

在我來說,我簡單的忘記在運行命令composer require cboden/ratchet之前改變我的工作目錄在cmd這個固定cd c:\path to project\然後composer require cboden/ratchet

相關問題