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

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

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

谢谢


当前回答

对于Wamp服务器用户有一个更简单的方法: 您可以启用该设置,只需(左)点击WampServer图标,选择PHP -> PHP设置->短打开标签。等待一秒钟,WampServer将自动重新启动PHP和它的web服务。

原文:http://osticket.com/forums/showthread.php?t=3149

其他回答

如果您编辑了php.ini文件,请记得重新启动服务(apache2等),以便对php.ini的编辑生效

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

这适用于ubuntu 16上的php7.2,与上面Bradley Flood的答案相同,尽管存储配置文件的目录已经改变了。

此外,您还可以更改php字符串中的版本以匹配当前安装的版本。

这可以通过在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

如果你使用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文件。