什么php.ini文件使用symfony服务器:运行命令?

Pac*_*nSV 7 php symfony

我正在使用virtphp来拥有单独的环境(不同的PHP版本,扩展等).

当我使用symfony的命令来运行本地开发服务器时:

php app/console server:run
Run Code Online (Sandbox Code Playgroud)

它似乎忽略了我的虚拟环境的php.ini文件(〜/ .virtenv/envs/myenv/etc/php.ini),例如:不加载该文件中定义的扩展名.

但是当我直接使用php内置服务器时,它完美地工作:

php -S 127.0.0.1:8000 --docroot=web/
Run Code Online (Sandbox Code Playgroud)

这两个命令的区别是什么,或者symfony的不同之处是什么?

这是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)
Run Code Online (Sandbox Code Playgroud)

这是phpinfo()使用命令时Symfony控制器中函数的输出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)
Run Code Online (Sandbox Code Playgroud)

请注意"加载配置文件"中的差异...当我使用该php --ini命令时,它将我的php虚拟环境中的"加载配置文件"替换为"加载配置文件",当我使用该命令时,php app/console server:run它使用"全局"配置文件.

Pac*_*nSV 0

此问题的解决方法是将虚拟环境的 php.ini 文件移动到 etc 目录中名为 php 的子目录中。例如:

移动文件~/.virtphp/envs/my-env/etc/php.ini

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