• 欢迎访问极客公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入极客公园 QQ群
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 百度口碑求点赞啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊http://koubei.baidu.com/s/gitcafe.net
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏极客公园吧

(原创)nginx+php5.3.x运行Discuz程序乱码short_open_tag解决

原创总结 博客教主 14年前 (2010-06-22) 3946次浏览 0个评论

之前本人有个使用Discuz程序的论坛挂在别人一台win2003服务器上,跑的是WAMP。因为忙很久没有打理。后来因为部分数据丢失就关闭了。前几天又想重新开,在硬盘上找到了老的数据,是2009年11月的。重新上传到本blog使用的服务器(本人购买的美国VPS服务器),运行出现如下乱码:

IE8下:

Firefox 3.6下:

运行环境是LNMP,相同环境下的WordPress程序http://www.macd11.com却运行很正常,奇怪了。接着Google了一下,网上很多人说这个问题是php版本兼容性导致。因为我使用的是php 5.3.x版本。有些人说把php版本降低到5.2.x就好了。但我觉得5.3版本应该兼容5.2版本,而且又不想降低php版本。先后排查了web目录、数据库目录权限与nginx.conf配置文件,都没发现问题。最后把问题方向确定在php.ini与php-fpm.conf这两个配置文件里。最后发现是php.ini里的short_open_tag参数(此参数表示是否支持短标签的意思)要开启才行。

1.

vim /etc/php.ini

2. 开启short_open_tag参数,支持php短标签。修改为short_open_tag = On,如图所示:

3. wq保存,然后重启php-cgi进程:

/etc/init.d/php-fpm restart

Discuz 7.2程序运行正常了。

关于php.ini 中的short_open_tag和asp_tags的说明:

short_open_tag

决定是否允许使用 PHP 代码开始标志的缩写形式(<? ?> )。如果要和 XML 结合使用 PHP,可以禁用此选项以便于嵌入使用 <?xml ?> 。否则还可以通过 PHP 来输出,例如:<?php echo ‘<?xml version=”1.0″‘; ?> 。如果禁用了,必须使用 PHP 代码开始标志的完整形式(<?php ?> )。

注意: 本指令也会影响到缩写形式 <?= ,它和 <? echo 等价。使用此缩写需要 short_open_tag 的值为 On。
asp_tags

除了通常的 <?php ?> 标志之外还允许使用 ASP 风格的标志 <% %>。这也包括了输出变量值的缩写 <%= $value %>。
注意: ASP 风格标志的支持是 3.0.4 版新加的。


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:(原创)nginx+php5.3.x运行Discuz程序乱码short_open_tag解决
喜欢 (0)

您必须 登录 才能发表评论!