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

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

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

谢谢


当前回答

 short_open_tag = On

在php . ini中 并重新启动Apache服务器。

其他回答

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

我看到上面所有的答案都是部分正确的。 实际上,所有21世纪的PHP应用程序都有FastCGI进程管理器(PHP -fpm),所以一旦你在test.php脚本中添加了PHP -info(),并检查了PHP .ini的正确路径

Go to php.ini and set short_open_tag = On

重要提示:然后你必须重新启动你的php-fpm进程,这样才能工作!

sudo service php-fpm restart

最后重新启动nginx/http服务器

sudo service nginx restart

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

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

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

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

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

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