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.
'php -i' powie co ini file (s) wprowadzono –
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
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ę. –