2016-08-29 17 views
5

Używam virtphp do oddzielnych środowisk (różne wersje PHP, rozszerzenia itp.).Jaki plik php.ini używa serwera symfony: uruchom komendę?

Kiedy używać polecenia symfony, aby uruchomić lokalny serwer rozwój:

php app/console server:run 

Wydaje się, że ignoruje plik php.ini z moim wirtualnym środowisku (~/.virtenv/envs/myenv/etc/php .ini), np .: nie ładuje rozszerzeń zdefiniowanych w tym pliku.

Ale kiedy używam php wbudowany serwer bezpośrednio, to działa doskonale:

php -S 127.0.0.1:8000 --docroot=web/ 

Jaka jest różnica tych dwóch komend lub co ma symfony zrobić inaczej?

To wyjście komendy php --ini:

Configuration File (php.ini) Path: /usr/local/etc/php/5.5 
Loaded Configuration File:   /Users/mjuarez/.virtphp/envs/wowfi/etc/php.ini 
Scan for additional .ini files in: /Users/mjuarez/.virtphp/envs/wowfi/etc/php 
Additional .ini files parsed:  (none) 

Jest to wyjście z funkcji phpinfo() w kontrolerze Symfony przy użyciu polecenia php app/console server:run:

Configuration File (php.ini) Path /usr/local/etc/php/5.5 
Loaded Configuration File /usr/local/etc/php/5.5/php.ini 
Scan this dir for additional .ini files /Users/mjuarez/.virtphp/envs/wowfi/etc/php 
Additional .ini files parsed (none) 

zauważyć różnicę w " Załadowany plik konfiguracyjny "... kiedy używam polecenia php --ini, zastępuje on" Plik Loaded Configuration "plikiem w moim wirtualnym środowisku PHP i kiedy używam polecenia php app/console server:run używa "globalnego" pliku konfiguracyjnego.

+0

'php -i' powie co ini file (s) wprowadzono –

+0

Dzięki @MarcB rzeczywiście polecenie, które pokazuje pliki .ini że php się załaduje to 'php --ini' ... ale wynik tych poleceń pokazuje, że ładuje oba pliki" globalne "php.ini i php.ini w moim wirtualnym otoczeniu. – PachinSV

+0

niektóre (ale nie wszystkie) dyrektywy .ini można przesłonić w czasie wykonywania za pomocą wywołań 'ini_set()'. 'php -S' nie uruchamia symfonii bezpośrednio, będzie tylko czekać na żądanie http, a następnie uruchomi symfonię. –

Odpowiedz

0

Rozwiązaniem tego problemu jest, aby przenieść plik php.ini mojego środowisku wirtualnym do pod- katalog o nazwie php w katalogu etc. np:

przenieść plik ~/.virtphp/envs/my-env/etc/php.ini

Aby ~/.virtphp/envs/my-env/etc/php/php.ini

-1

Upuść plik w swoim katalogu internetowym wewnątrz. Otwórz go za pomocą przeglądarki i wyszukaj plik php.ini, który da ci właściwy plik. Nie może być kilka plików YF obejrzysz directy w katalogu konfiguracyjnym (CLI, FPM, Apache i tak dalej)