php - 什么 php.ini 文件使用 symfony 服务器 :run command?

标签 php symfony

我使用 virtphp 来拥有不同的环境(不同的 PHP 版本、扩展等)。

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

php app/console server:run

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

但是当我直接使用php内置服务器时,它运行得很好:

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

这两个命令有什么不同,或者 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)

这是使用命令 php app/console server:run 时 Symfony Controller 中函数 phpinfo() 的输出:

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)

请注意“加载的配置文件”的区别...当我使用 php --ini 命令时,它会用我的 php 虚拟环境中的那个替换“加载的配置文件”,当我使用命令 php app/console server:run 它使用“全局”配置文件。

最佳答案

郑重声明(以及所有像我一样通过谷歌搜索来到这里的迷失灵魂):

Symfony 控制台本身并不是一个程序。它只是一个 PHP 脚本。因此,当您运行 Symfony 控制台时,它没有自己的 php.ini 或扩展目录或其他配置 - 它使用与所有其他 PHP 脚本相同的设置。(除非在运行时被覆盖 -这实际上可能是原始问题的情况。)

关于php - 什么 php.ini 文件使用 symfony 服务器 :run command?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39213794/

相关文章:

php - Routeboxer 服务器端

symfony - 如何使用Elastica Search和Symfony2执行嵌套查询

php - Symfony 2 与相关实体的验证

symfony - 如何将 CKEditor 添加到 Sonata Admin 后端的文本区域

javascript - 如何在ajax请求中与formData一起发送附加数据

php - 在 PHP/MySQL 中将值组合在一起并将其中一列的值添加到组中

php - 如何将多维数组转化为json对象

javascript - AngularJS 和 Symfony 的路由问题

php - 带有OR或AND或全文的表中的MySQL搜索关键字与[duplicate]匹配

javascript - 每次有人插入数据库时​​ PHP MYSQL Javascript 都会播放音频