【问题标题】:codeigniter works on live site but not localhostcodeigniter 适用于实时站点,但不适用于 localhost
【发布时间】:2016-11-25 05:25:26
【问题描述】:

我将我的实时 Codeigniter 项目复制到我的本地机器上,以使开发更容易一些,但它显示不正确。没有进行任何更改,所以我不确定为什么会这样?它几乎就像它无法从数据库中读取一样,但底部的列表来自一个选择查询,所以我觉得情况并非如此..

我正在使用带有 PHP 的 Windows 10 IIS。

现场直播:http://beta.btcbidder.com/

本地主机图像:

【问题讨论】:

  • 也许您的本地主机版本不解析速记 php 标签?您是否在脚本中的任何位置使用 = ?>?
  • 您是否在“实时”站点上使用 IIS?
  • @self,不,在现场我使用 CentOS LAMP 设置
  • @JethroHazelhurst,你说得对,php.ini 已禁用此功能,代码中充斥着速记标签
  • 没有问题很高兴它起作用了!

标签: php codeigniter localhost


【解决方案1】:

由于上图中的原始输出,您的 php 标签可能有问题。这可能是由于使用了通常被认为是不好的做法的速记 php 标签。

<? ?> & <?= ?>

在某些服务器配置上禁用了速记 php 标签,因此最好使用模板引擎或至少使用完整的 php 标记。

查找并替换所有&lt;? ... ?&gt;&lt;?= ?&gt; 标记为完整的php 标记&lt;?php ... ?&gt;

【讨论】:

  • 是的,但是 php 短标签会使您的代码无法共享,因为最好假设您的最终用户没有启用短标签。
  • 谢谢。因为代码中到处都是这个,所以我现在在 php.ini 中启用了速记代码,直到我可以全部替换它们。
【解决方案2】:

你也可以使用 .htaccess 来做同样的事情

<IfModule mod_php5.c>
  php_value short_open_tag 1
</IfModule>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 2011-06-09
    • 1970-01-01
    • 2015-07-15
    • 2014-07-14
    • 2012-06-14
    • 2012-08-01
    相关资源
    最近更新 更多