【问题标题】:blank pages rendered - codeigniter application呈现的空白页 - codeigniter 应用程序
【发布时间】:2012-08-14 17:46:26
【问题描述】:

我刚刚将我的 codeigniter 应用程序从一台机器移到了另一台机器上。 我收到了上述错误消息。

这是我目前检查过的内容:

代码点火器的config.php有以下内容:

 $config[‘base_url’] = ‘http://myserver/myapp/’;

当我导航到

     http://myserver/myapp/index.php 

我没有,没有收到任何错误消息,也没有显示/渲染任何内容。我做了一个视图源,页面上没有 html。 (顺便说一句。我在路由中指定了“欢迎”作为我的默认控制器)。当我导航到:

     http://myserver/myapp/index.php/welcome

结果是一样的。

我检查了我的 apache2 访问日志,这是它包含的内容:

   127.0.0.1 - - [14/Aug/2012:13:27:37 -0400] "GET /myapp/index.php/welcome HTTP/1.1" 200 293 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:14.0) Gecko/20100101 Firefox/14.0.1"

127.0.0.1 - - [14/Aug/2012:13:27:48 -0400] "GET /myapp/index.php/switches HTTP/1.1" 200 293 "-" "Mozilla/5.0 (X11; Ubuntu ; Linux i686; rv:14.0) Gecko/20100101 Firefox/14.0.1"

不应该吗

     “GET http://myserver/myapp/index.php/welcome” 

而不仅仅是

     “myapp/welcome”?

我也尝试查找 apache 错误消息 #293,但我没有遇到任何有助于故障排除的内容。

问题是其他应用程序可以工作。所以我可以做

     “http://myserver/phpmyadmin” 

它有效。 我还在我的“myapp”文件夹中创建了一个 test.php 页面,它也可以工作。

据我所知,我没有使用 .htaccess。我在我的 config.php 中为 codeigniter 设置了以下变量:

       $config[‘index_page’] = ‘index.php’;
       $config[‘uri_protocol’] = ‘AUTO’;

在 php.ini 文件和代码点火器配置文件中都打开了错误日志记录。

【问题讨论】:

  • 你确定没有抑制 index.php 的 .htacess 文件
  • 你有“白屏死机”。向后工作 - 安装 Codeigniter 的“干净”版本,看看是否有效 - 然后从那里慢慢向前推进。
  • 你检查过.htaccess文件重写规则吗??
  • 我检查了,我的应用程序或其子文件夹中没有 htaccess 文件...
  • TheShiftExchange - 谢谢。我这样做了,新站点正在运行……但我想知道为什么现有站点无法运行……这让我发疯! =)

标签: php codeigniter


【解决方案1】:

你有“死亡白屏”。向后工作 - 安装 Codeigniter 的“干净”版本并查看它是否有效 - 然后从那里慢慢向前推进。

然后您要做的是“慢慢地”转换您的网站。即从您的站点配置开始 - 将其移动到“新”站点。然后更改您的主控制器,然后更改您的数据库等 - 直到错误出现。

【讨论】:

    【解决方案2】:

    可能是因为您使用的是大引号而不是常规引号?

    $config[‘base_url’] = ‘http://myserver/myapp/’;

    不同于

    $config['base_url'] = 'http://myserver/myapp/';

    【讨论】:

    • 我不这么认为......我认为它们看起来不同,因为我从 VI 复制和粘贴......
    【解决方案3】:

    问题是 autoload.php 包含帮助类“url”。在新机器上,没有设置此项。目前尚不清楚为什么该文件是唯一没有被复制的文件..或被正确覆盖的文件。无论如何,CI 在我的页面上快要死了,因为我调用了 base_url()。目前还不清楚为什么没有显示错误消息。 目前,该应用程序已备份并运行。我仍在试图弄清楚为什么没有显示 PHP 错误,但我会在发回之前先检查所有内容。

    谢谢大家。

    【讨论】:

    • 修改 php.ini 以显示错误。在 php.ini 中找到 display_errors 的行,并确保将其设置为 On。此外,确保error_reporting 在同一文件中设置为 E_ALL。在基于 debian 的系统上,您可以在 /etc/php5/apache2/ 中找到 php.ini
    【解决方案4】:

    我在移动服务器时遇到问题,其中 php.ini 中未启用 php 短标签 <?= ?> 这意味着我在 html 源代码中得到了一个空白页面(由 layout->render_page 输出):

    <?= $header; ?>
    <?= $contents; ?>
    <?= $footer; ?>
    

    在 php.ini short_open_tag = On 中启用它们解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2015-06-28
      • 1970-01-01
      • 2022-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多