如何启用PHP短标签?

我在Linux服务器上有一个以<?开头的Web应用程序

我需要复制这个应用程序到一个Windows环境,一切正常工作,除了一个SQL语句呈现不同。 我不知道这是否与以<?php而不是<?开头的脚本有关<? 因为我不知道从哪里启用<?PHP.ini所以我把它改成<?php

我知道这两个陈述应该是相同的,但我需要用<?testing它<? 为了确保应用程序是完全一样的。 这样我可以消除另一种可能性。

谢谢

 short_open_tag=On 

在php.ini中

然后重启你的Apache服务器。

这可以通过在php.ini中启用short_open_tag来完成:

 short_open_tag = on 

如果您无法访问php.ini,则可以尝试通过.htaccess文件启用它们,但如果您在共享主机上,托pipe公司可能会将其禁用:

 php_value short_open_tag 1 

对于那些认为short_open_tags是php 5.4不好的练习的人来说,无论设置如何,都可以支持<?= ... ?> shorttag ,所以如果你可以控制服务器上的设置,没有理由不使用它们。 也在这个链接中说: short_open_tag

这可以通过在php.ini中启用short_open_tag来完成:

1.要findphp.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 

请参阅注释输出中的第二行。该文件将位于提到的path中。

打开php.ini文件并findshort_open_tag 。 默认情况下它处于off

3.重新启动服务器,执行此评论

 service httpd restart 

谢谢

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

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

我可以看到上面的所有答案只是部分正确的。 实际上,所有21世纪的PHP应用程序都将具有FastCGIstream程pipe理器(php-fpm),因此,一旦将php-info()添加到test.php脚本中并检查了php.ini的正确path

 Go to php.ini and set short_open_tag = On 

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

 sudo service php-fpm restart 

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

 sudo service nginx restart 

你需要打开short_open_tags。

 short_open_tag = On 

如此简单,按照以下步骤操作:

  1. 去php.ini文件
  2. find'short_open_tag'并将其设置为开,
  3. 重新启动服务器

所以,short_open_tag = On

在CentOS 6(也在Centos 7上testing过),你不能在/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 

您必须编辑您的站点的configuration,可以在/etc/php-fpm.d/www.conf中find并在文件末尾写入:

 php_value[short_open_tag] = On 

如果你编辑你的php.ini文件,记得重新启动你的服务(apache2等)编辑到php.ini才能生效

如果您在Apache+php5中使用Ubuntu ,那么在当前版本中有两个地方需要更改为short_open_tag = On

  1. /etc/php5/apache2/php.ini – 这是通过您的Web服务器(Apache)加载的页面
  2. /etc/php5/cli/php.ini – 当你从命令行启动你的php文件时使用这个configuration,例如: php yourscript.php – 手动或者cronjob直接在服务器上执行php文件。

对于Wamp Server用户来说,有更简单的方法:你可以在WampServer图标上简单地(左键)点击一下,selectPHP-> PHP settings – > short open tag。 等一下,WampServer会自动重启你的PHP及其Web服务。

最初来自: http : //osticket.com/forums/showthread.php?t=3149

 ; 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 

如果使用xampp,你会注意到php.ini文件有两次提到了short_open_tag。 启用第二个short_open_tag = On。 第一个被注释掉了,你可能会试图取消注释和编辑它,但是它被第二个short_open_tag

如果您在Windows中使用xampp,请遵循以下步骤

  1. 打开XAMPP控制面板。
  2. 点击CONFIGbutton。
  3. 转到PHP(php.ini)选项。

使用Ctrl + F实用程序查找short_open_tag

你会find;short_open_tag

请从行中删除分号(;)

并保持它作为short_open_tag = on

最后,重启你的Apache服务器

要使用php-fpm启用特定域的short_open_tag,您必须编辑:

/etc/php5/fpm/pool.d/xxxxxxxxxx.conf

其中xxxxx是域的套接字号。

并添加:php_value [short_open_tag] =开

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