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

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

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

谢谢


当前回答

就这么简单,请遵循以下步骤:

进入php.ini文件 找到short_open_tag并将其设置为on short_open_tag = On 重新启动服务器

其他回答

这可以通过在php.ini中启用short_open_tag来实现:

short_open_tag = on

如果你没有访问php.ini,你可以尝试通过。htaccess文件启用它们,但如果你是在共享主机上,主机公司可能会禁用它:

php_value short_open_tag 1

对于那些认为short_open_tags在php5.4中是不好的做法的人来说,<?=……> shorttag在任何地方都将被支持,不管设置如何,所以如果你可以控制服务器上的设置,没有理由不使用它们。在这个链接中还提到:short_open_tag

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

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

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

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

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

short_open_tag = On

3->重启服务器

sudo service apache2 restart

这可以通过在php.ini中启用short_open_tag来实现:

1.要定位php.ini文件,在注释行执行

 php --ini

你会得到这样的东西,

Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed:      /etc/php.d/curl.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini,
/etc/php.d/json.ini,
/etc/php.d/mcrypt.ini,
/etc/php.d/mysql.ini,
/etc/php.d/mysqli.ini,
/etc/php.d/pdo.ini,
/etc/php.d/pdo_mysql.ini,
/etc/php.d/pdo_sqlite.ini,
/etc/php.d/phar.ini,
/etc/php.d/sqlite3.ini,
/etc/php.d/zip.ini

请参见注释输出中的第二行。该文件将位于上述路径中。

2.打开php.ini文件,找到short_open_tag。默认情况下它是关闭的,把它改为打开。

3.重新启动服务器,执行这条注释

service httpd restart

谢谢

; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
;short_open_tag=Off   <--Comment this out
; XAMPP for Linux is currently old fashioned
short_open_tag = On   <--Uncomment this