如何启用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
如此简单,按照以下步骤操作:
- 去php.ini文件
- find'short_open_tag'并将其设置为开,
- 重新启动服务器
所以,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
-
/etc/php5/apache2/php.ini
– 这是通过您的Web服务器(Apache)加载的页面 -
/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,请遵循以下步骤
- 打开XAMPP控制面板。
- 点击CONFIGbutton。
- 转到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 = On
和short_open_tag = On
,然后重新启动apache服务器。