我正在使用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它使用"全局"配置文件.
此问题的解决方法是将虚拟环境的 php.ini 文件移动到 etc 目录中名为 php 的子目录中。例如:
移动文件~/.virtphp/envs/my-env/etc/php.ini
到~/.virtphp/envs/my-env/etc/php/php.ini
| 归档时间: |
|
| 查看次数: |
3076 次 |
| 最近记录: |