【问题标题】:Codeigniter 2 silent error on shared hosting共享主机上的 Codeigniter 2 静默错误
【发布时间】:2015-05-19 10:19:31
【问题描述】:

index.php

define('ENVIRONMENT', 'development');

if (defined('ENVIRONMENT'))
{
    switch (ENVIRONMENT)
    {
        case 'development':
            error_reporting(E_ALL);
            ini_set('display_errors', 1);
            ini_set('display_startup_errors', 1);
        break;

        case 'testing':
        case 'production':
            error_reporting(0);
        break;

        default:
            exit('The application environment is not set correctly.');
    }
}

.htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L] 

config.php

$config['base_url'] = 'http://mirror.example.com/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

托管服务提供商使用 PHP 5.3 版。但我看不到任何东西,包括错误。我想知道这里有没有人有同样的经历?

怎么了?提前谢谢

【问题讨论】:

  • 在控制器的函数顶部尝试error_reporting(E_ALL)并检查。

标签: php .htaccess codeigniter shared-hosting


【解决方案1】:

听起来像是服务器配置问题 可能是 ini_set 的指令“disable_functions”处于活动状态 你可以访问 php.ini 吗?

如果不询问您的提供者

附加信息:

我没有发现您的配置有问题 也许您可以尝试添加以下内容:

    case 'development':
        error_reporting(-1);
        ini_set('display_errors', 1);
    break;

【讨论】:

  • 好的,我会向供应商提出这个问题。关于这个错误还有其他可能性吗?
  • 我没有看到你的方式有问题,但为了希望,我在我的答案中添加了我在所有项目中使用的版本(我从来没有遇到过这个问题)跨度>
  • 我已经添加了它现在还在加载中
  • “它仍在加载”是什么意思?
【解决方案2】:

原来不是服务器,而是编码风格兼容性问题:

我使用这个(PHP 5.3 不支持

$this->data['current_user'] = $this->user->get_by(array(
'id' => $this->session->userdata('user_session')['user_id']
));

代替:

$user_session = $this->session->userdata('user_session');

$this->data['current_user'] = $this->user->get_by(array(
'id' => $user_session['user_id']
));

谢谢大家:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    相关资源
    最近更新 更多