我在Linux服务器上有一个web应用程序,以<?

我需要将这个应用程序复制到windows环境中,一切工作正常,除了SQL语句呈现不同。我不知道这是否与以<?用PHP代替<?因为我不知道从哪里启用<?所以我把它改为<?php

我知道这两个语句应该是相同的,但我需要用<?以确保应用完全相同。这样我就可以排除另一种可能性。

谢谢


当前回答

在\apache\Apache2.2.21\bin\php.ini和\bin\php\php5.3.8\php.ini文件中设置asp_tags = On和short_open_tag = On,然后重新启动apache服务器。

其他回答

您可以按照以下步骤进行操作:

1->进入/etc/php/7.3/apache2或你的PHP版本中的PHP .ini文件

2->找到short_open_tag,并将其设置为On和删除;从开始。

short_open_tag = On

3->重启服务器

sudo service apache2 restart

对于docker,将此步骤添加到Dockerfile中

  ARG phpIniPath=/path/to/your/php.ini

  RUN sed -i -e 's/^short_open_tag\s*=.*/short_open_tag = On/' $phpIniPath  

在CentOS 6中(在CentOS 7上也进行了测试),您不能在/etc/php.ini中为php-fpm设置short_open_tag。 你会有错误:

ERROR: [/etc/php.ini:159] unknown entry 'short_open_tag'
ERROR: Unable to include /etc/php.ini from /etc/php-fpm.conf at line 159
ERROR: failed to load configuration file '/etc/php-fpm.conf'
ERROR: FPM initialization failed

您必须编辑站点的配置,该配置可以在/etc/php-fpm.d/www.conf中找到 并在文件末尾写道:

php_value[short_open_tag] =  On

您需要打开short_open_tags。

short_open_tag = On

在Ubuntu上设置从Vagrant安装脚本打开短标签:

sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php5/apache2/php.ini