PHPUnit忽略了short_open_tag设置

时间:2016-02-05 18:52:25

标签: php phpunit php-ini

我的PHPUnit测试在尝试测试我的(遗留代码)应用程序中以短开标记(<?而不是<?php)开头的任何.php文件时仍然失败。

但在我的php.ini文件中,short_open_tag设置为On

应用程序运行正常。为什么PHPUnit对短开标签感到不安?我查找了其他php.ini个文件,但只能在/etc/php.ini找到该文件。我的.htaccess文件也不会影响此设置。还有什么可能导致这个?

3 个答案:

答案 0 :(得分:4)

一般解决方案

1)检查加载了哪个php.ini文件(命令行:php --ini

2a)设置php ini文件:short_open_tag = on

2b)设置.htaccess文件:php_value short_open_tag 1

3)重启服务器(命令行:service httpd restart

答案 1 :(得分:0)

所以,我得到了它的工作,解决方案令人沮丧:我的应用程序在VM上,VM中的php.ini文件具有正确的设置。但是,PHPUnit使用本地计算机上的php.ini文件,该文件的short_open_tag设置为Off。更改该设置可以解决我的问题。

(我仍然不确定为什么PHPUnit会使用其他php.ini,但我认为这不属于这个问题的范围。)

答案 2 :(得分:0)

PHPUnit使用PHP的PHP-cli模块。 PHP-cli的配置还有另一个.ini文件。我使用的是ubuntu 14.04,在我的情况下

  

/etc/php5/apache2/php.ini //用于网络编译器

     

/etc/php5/cli/php.ini //用于PHP-cli,您需要在此设置short_open_tag=On