2013-08-19 9 views
16

Ho un progetto, uso Composer e ne importa molte cose ... Ho bisogno dell'autoload.php nel mio indice (la radice del progetto) e istead Slim, Mongo, Twig funzionano molto bene. Ma quando chiamo una classe di Respect/Validation non funziona; se io semplicemente uso Rispetto/convalida l'errore è:Perché il mio autoload.php di compositore non funziona?

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

se provo a richiedere anche qui l'autoload.php gli errori sono:

**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

I l'ho fatto in Composer/bin di cmd ...dir = $ (d = $ (dirname "$ 0"); cd "$ d" $$ pwd) se comando -v 'cygpath'>/dev/null 2> & 1; quindi dir = $ (cygpath -m $ dir); fi dir = $ (echo $ dir | sed 's// \/g') php "$ {dir} /composer.phar" $ * - –

+0

Hai provato a includere il file autoload.php in un modo relativo da dove hai bisogno? –

+0

L'ho provato, e come ho detto, ho detto che autoload.php non trova il file, ma se lascio solo l'uso mi dice che non riesco a trovare la classe Validator. –

risposta

17

Se si utilizza un file (file.php) in una particolare directory come questo:

/app/controller/validation 

e la vostra directory fornitore è nel percorso base del progetto, è necessario includere il percorso relativo alla cartella vendor :

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

Try utilizzando php composer dump-autoload. Potrebbe risolvere questo problema.

7

Ho fatto questo. ho controllato il file e le autorizzazioni come sempre ma tutto sembra ok. Quindi apro autoload.php e vedo ... oh! abbiamo __DIR__ ofcourse.

stavo facendo questo

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

cambiato in

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

non politicamente corretto, ma mi ha fatto dai rifiuti frustrante di tempo per il momento.

naturalmente ci sono alternative migliori a __DIR__ come utilizzare un percorso BASE ecc. Ma questo ha funzionato per me.

+2

2016 ... anche io mi sono trasferito su python. : P – Vangel

0

Ho avuto lo stesso problema con xampp. Ho installato compositore e utilizzato:

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

Il mio problema risolto ora.

0

Ho avuto lo stesso problema e ho risolto utilizzando l'ultima versione di laravel, basta provare questo codice per creare il progetto:

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

questo utilizza sempre l'ultima versione.

0

Ho risolto il semplice aggiornamento del compositore di riesecuzione dal progetto Root. (il mio caso era in Magento2, ma l'errore e il percorso sono la stessa cosa)

0

Nel mio caso ho semplice dimenticato di cambiare la mia directory di lavoro prima di eseguire il comando composer require cboden/ratchet in cmd questo ha riparato cd c:\path to project\ poi composer require cboden/ratchet

Problemi correlati