使用控制器时Codeigniter 500内部服务器错误

时间:2012-11-23 07:20:10

标签: codeigniter

我有一个网站,直到几天前工作完美。它设置在不同的子域中,使用codeigniter进行蚀刻。主要网站很好并且运行良好,但是当我登录时,admin us域突然开始显示500个错误。 我可以通过输入地址来访问它的不同区域,例如

然而,当我返回主页http://admin.mysite.com时,它会产生500错误。

以同样的方式,当我尝试提交要在网站上发布的文章时,会发生相同的500错误。似乎每当我需要使用控制器时它会产生500错误。

我不认为这是htaccess,它根本没有改变(事实上我试图从备份中恢复整个域)并且500错误仍然存​​在。

我已经玩弄了一个apache问题的想法,但mod_rewrite设置了,确实因为主域上的网站仍在运行,这使得它更令人费解。

任何人都可以把我推向正确的方向。和以往一样,我希望我能提出正确的问题。我一直试图解决这个问题两天,我不知所措!

编辑:我最终设法产生错误:

  

致命错误:未捕获的异常'异常',消息'GAPI:失败   请求报告数据。错误:“GDatainsufficientPermissionsUser确实如此   对此个人资料没有足够的权限。“'in   /var/www/vhosts/dealersupport.co.uk/admin/application/third_party/analytics/gapi.class.php:218   堆栈跟踪:#0   /var/www/vhosts/dealersupport.co.uk/admin/application/modules/analytics/libraries/analytics_lib.php(86):   gapi-> requestReportData('20924509',Array,Array,Array,NULL,   '2011-12-23','2012-11-23')#1   /var/www/vhosts/dealersupport.co.uk/admin/application/controllers/home.php(34):   Analytics_lib-> get()#2 [内部函数]:Home-> index()#3   /var/www/vhosts/dealersupport.co.uk/admin/system/core/CodeIgniter.php(359):   call_user_func_array(Array,Array)#4   /var/www/vhosts/dealersupport.co.uk/admin/index.php(202):   require_once('/ var / www / vhosts ...')#5 {main}引入   /var/www/vhosts/dealersupport.co.uk/admin/application/third_party/analytics/gapi.class.php   在218行

编辑2:而且:

  

致命错误:无法访问受保护的属性MY_Form_validation :: $ CI   在   /var/www/vhosts/dealersupport.co.uk/admin/application/modules/news/controllers/news.php   在第459行

EDIT3:为了完整起见,这里是htaccess

  

Options + FollowSymLinks + SymLinksIfOwnerMatch RewriteEngine On

     

选项-MultiViews

     

阻止通过浏览器访问所有htaccess文件。订单允许,拒绝拒绝所有

     

      RewriteEngine On

     

#快捷方式全局可访问的设计位置,隐藏真实   来自用户的这些文件的位置#。重写规则   ^(css | js | images)/(。*)$ application / assets / $ 1 / $ 2 [L] RewriteRule   ^模块/([A-Z _] +)/(CSS | JS |图像)(。*)/ $   application / modules / $ 1 / assets / $ 2 / $ 3 [L]

# Checks to see if the user is attempting to access a valid file,
# such as an image or css document, if this isn't true it sends the
# request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L] </IfModule>
     

      #如果我们没有安装mod_rewrite,那么所有404都是       #可以发送到index.php,一切正常。       #提交人:ElliotHaughin

ErrorDocument 404 /index.php </IfModule>
     

#关闭ETag,以提高性能     标题取消设置ETag FileETag无

     

阻止目录列表。选项-Indexes

2 个答案:

答案 0 :(得分:0)

也许这不是同一个问题,但我过去曾在某些控制器的CI中出现过500错误,因为PHP控制器文件的编码在某种程度上已被破坏。

唯一的解决方案是重新创建控制器(新的PHP文件,复制代码......)。

答案 1 :(得分:0)

我今天遇到了同样的问题,我通过更改.htaccess文件解决了这个问题:

.clip-background{
  position:absolute;
  width:500px;
  height:500px;
  background-color:pink;
  clip-path: url(#clipping-area);
  -webkit-clip-path: url(#clipping-area);
}
.circle-border{
  fill:none;
  stroke:#666;
  stroke-width:2;
}

注意:

RewriteBase /对我很重要。