see*_*edg 309 php tags php-shorttags
我在Linux服务器上有一个Web应用程序,它始于 <?
我需要将此应用程序复制到Windows环境,一切正常,但SQL语句的呈现方式不同.我不知道这是否与脚本开头有关,<?php
而不是<?
因为我不知道从哪里启用<?
,PHP.ini
所以我把它改成了<?php
我知道这两个语句应该是相同的但我需要测试它<?
以确保应用程序完全相同.这样我就可以消除另一种可能性.
谢谢
cod*_*ict 537
组
short_open_tag=On
Run Code Online (Sandbox Code Playgroud)
并重新启动Apache服务器.
RJD*_*D22 77
这可以通过在php.ini中启用short_open_tag来完成:
short_open_tag = on
Run Code Online (Sandbox Code Playgroud)
如果您无法访问php.ini,可以尝试通过.htaccess文件启用它们,但如果您在共享主机上,托管公司可能会禁用此功能:
php_value short_open_tag 1
Run Code Online (Sandbox Code Playgroud)
对于认为short_open_tags是php 5.4的<?= ... ?>
不良做法的人来说,无论设置如何,短标签都会在任何地方得到支持,因此如果你可以控制服务器上的设置,就没有理由不使用它们.在此链接中也说:short_open_tag
use*_*641 19
这可以通过在php.ini中启用short_open_tag来完成:
1.找到php.ini文件,在注释行执行
php --ini
Run Code Online (Sandbox Code Playgroud)
你会得到这样的东西,
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
Run Code Online (Sandbox Code Playgroud)
请参阅注释输出中的第二行.文件将位于上述路径中.
2.打开php.ini文件并查找short_open_tag
.默认情况下,它会off
更改为on
.
3.重新启动服务器,执行此注释
service httpd restart
Run Code Online (Sandbox Code Playgroud)
谢谢
Bra*_*ood 18
要在Ubuntu上设置从Vagrant安装脚本打开的短标记:
sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php5/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)
Edd*_*ira 12
我可以看到上面的所有答案都只是部分正确.实际上所有21世纪的PHP应用程序都将拥有FastCGI Process Manager(php-fpm),所以一旦你将php-info()添加到你的test.php脚本并检查了php.ini的正确路径
Go to php.ini and set short_open_tag = On
Run Code Online (Sandbox Code Playgroud)
重要提示:那么你必须重新启动php-fpm进程,这样才能正常工作!
sudo service php-fpm restart
Run Code Online (Sandbox Code Playgroud)
然后最终重启你的nginx/http服务器
sudo service nginx restart
Run Code Online (Sandbox Code Playgroud)
小智 9
在CentOS 6中(也在Centos 7上测试过),你不能在/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
Run Code Online (Sandbox Code Playgroud)
您必须编辑您的站点的配置,可以在/etc/php-fpm.d/www.conf中找到并在文件末尾写入:
php_value[short_open_tag] = On
Run Code Online (Sandbox Code Playgroud)
小智 7
如果使用的是Ubuntu
与Apache+php5
,然后在当前版本有2个地方,你需要改变short_open_tag = On
/etc/php5/apache2/php.ini
- 这是通过您的Web服务器(Apache)加载的页面/etc/php5/cli/php.ini
- 从命令行启动php文件时使用此配置,例如:php yourscript.php
- 直接在服务器上手动或cronjob执行php文件.对于Wamp Server用户,有更简单的方法:您可以在WampServer图标上单击(左)单击一次,选择PHP - > PHP设置 - >短打开标记.等待一秒钟,然后WampServer将自动重启您的PHP及其Web服务.
最初来自:http://osticket.com/forums/showthread.php?t = 3149
小智 5
; 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
517007 次 |
最近记录: |