short_open_tag 设置被 PHPUnit 忽略
short_open_tag setting ignored by PHPUnit
我的 PHPUnit 测试在尝试测试我的(遗留代码)应用程序中以短开放标记(<?
而不是 <?php
)开头的任何 .php 文件时总是失败.
但是在我的 php.ini
文件中,short_open_tag
设置为 On
。
应用程序运行良好。为什么 PHPUnit 对短开放标签感到不安?我查找了其他 php.ini
个文件,但只能在 /etc/php.ini
找到那个文件。我的 .htaccess
文件也不影响此设置。还有什么可能导致这种情况?
一般解
1) 检查加载了哪个 php.ini 文件(命令行:php --ini
)
2a) 在 php ini 文件中设置:short_open_tag = on
2b) 在 .htaccess 文件中设置:php_value short_open_tag 1
3)重启服务器(命令行:service httpd restart
)
所以,我让它工作了,但解决方案令人沮丧:我的应用程序在 VM 上,VM 中的 php.ini
文件具有正确的设置。但是,PHPUnit 在我的本地计算机上使用 php.ini
文件,该文件将 short_open_tag
设置为 Off
。更改该设置解决了我的问题。
(我仍然不确定为什么 PHPUnit 使用另一个 php.ini
,但我认为这超出了这个问题的范围。)
PHP单元使用PHP-cli模块PHP。 PHP-cli 有另一个 .ini
文件用于配置。我使用的是 ubuntu 14.04,就我而言
/etc/php5/apache2/php.ini
//used for web compiler
/etc/php5/cli/php.ini
// Used for PHP-cli, you need to set short_open_tag=On
here
我的 PHPUnit 测试在尝试测试我的(遗留代码)应用程序中以短开放标记(<?
而不是 <?php
)开头的任何 .php 文件时总是失败.
但是在我的 php.ini
文件中,short_open_tag
设置为 On
。
应用程序运行良好。为什么 PHPUnit 对短开放标签感到不安?我查找了其他 php.ini
个文件,但只能在 /etc/php.ini
找到那个文件。我的 .htaccess
文件也不影响此设置。还有什么可能导致这种情况?
一般解
1) 检查加载了哪个 php.ini 文件(命令行:php --ini
)
2a) 在 php ini 文件中设置:short_open_tag = on
2b) 在 .htaccess 文件中设置:php_value short_open_tag 1
3)重启服务器(命令行:service httpd restart
)
所以,我让它工作了,但解决方案令人沮丧:我的应用程序在 VM 上,VM 中的 php.ini
文件具有正确的设置。但是,PHPUnit 在我的本地计算机上使用 php.ini
文件,该文件将 short_open_tag
设置为 Off
。更改该设置解决了我的问题。
(我仍然不确定为什么 PHPUnit 使用另一个 php.ini
,但我认为这超出了这个问题的范围。)
PHP单元使用PHP-cli模块PHP。 PHP-cli 有另一个 .ini
文件用于配置。我使用的是 ubuntu 14.04,就我而言
/etc/php5/apache2/php.ini
//used for web compiler
/etc/php5/cli/php.ini
// Used for PHP-cli, you need to setshort_open_tag=On
here