我在Linux服务器上有一个web应用程序,以<?
我需要将这个应用程序复制到windows环境中,一切工作正常,除了SQL语句呈现不同。我不知道这是否与以<?用PHP代替<?因为我不知道从哪里启用<?所以我把它改为<?php
我知道这两个语句应该是相同的,但我需要用<?以确保应用完全相同。这样我就可以排除另一种可能性。
谢谢
我在Linux服务器上有一个web应用程序,以<?
我需要将这个应用程序复制到windows环境中,一切工作正常,除了SQL语句呈现不同。我不知道这是否与以<?用PHP代替<?因为我不知道从哪里启用<?所以我把它改为<?php
我知道这两个语句应该是相同的,但我需要用<?以确保应用完全相同。这样我就可以排除另一种可能性。
谢谢
当前回答
如果你使用Ubuntu和Apache+php5,那么在当前版本中,有两个地方需要更改为short_open_tag = on
/etc/php5/apache2/php.ini -用于通过web服务器(Apache)加载的页面 /etc/php5/cli/php.ini—当您从命令行启动PHP文件时使用此配置,例如:PHP yourscript.php—用于手动或cronjob直接在服务器上执行PHP文件。
其他回答
Set
short_open_tag=On
在php . ini中
并重新启动Apache服务器。
如果您编辑了php.ini文件,请记得重新启动服务(apache2等),以便对php.ini的编辑生效
我已经在我的aws centos 7实例和php7(PHP 7.0.33 (cli)(构建:2018年12月6日22:30:44)(NTS)上更改了short_open_tag Off到On,但它没有反映PHP信息页面和代码。所以我参考了医生的文件,找到了解决我的问题的办法。在short_open_tag后面添加额外的一行,作为asp_tags = On,重启Apache后,它可以在代码上工作,我正确地输出
php . ini文件
engine = On ; This directive determines whether or not PHP will recognize code between ; <? and ?> tags as PHP source which should be processed as such. It is ; generally recommended that <?php and ?> should be used and that this feature ; should be disabled, as enabling it may result in issues when generating XML ; documents, however this remains supported for backward compatibility reasons. ; Note that this directive does not control the <?= shorthand tag, which can be ; used regardless of this directive. ; Default Value: On ; Development Value: Off ; Production Value: Off ; http://php.net/short-open-tag short_open_tag = On ; Allow ASP-style <% %> tags ; http://php.net/asp-tags asp_tags = On
您可以按照以下步骤进行操作:
1->进入/etc/php/7.3/apache2或你的PHP版本中的PHP .ini文件
2->找到short_open_tag,并将其设置为On和删除;从开始。
short_open_tag = On
3->重启服务器
sudo service apache2 restart
short_open_tag = On
在php . ini中 并重新启动Apache服务器。