【问题标题】:500 Internal server error in pyrocms user module500 pyrocms 用户模块中的内部服务器错误
【发布时间】:2012-11-28 06:36:57
【问题描述】:

我在 pyrocms 2.0.1 中有一个站点,除了用户模块外,它运行良好。当我从管理员单击管理用户时,它给了我 500 内部服务器错误,而且 usre 模块在本地服务器中的工作速度很慢。我们在 db 中有大约 5000 个用户。这里是配置文件http://www.mypartyaid.com/info.php

此处显示错误日志中的条目

错误 - 2012-11-29 04:07:08 --> 页面丢失:m/style/images/ui-bg_inset-soft_25_000000_1x100.png 错误 - 2012-11-29 04:07:08 --> 类“Plugin_Url”上不存在插件方法“baseuri”。 错误 - 2012-11-29 04:07:59 --> 页面丢失:robots.txt 错误 - 2012-11-29 04:07:59 --> 类“Plugin_Url”上不存在插件方法“baseuri”。 错误 - 2012-11-29 04:08:15 --> 类“Plugin_Url”上不存在插件方法“baseuri”。 错误 - 2012-11-29 04:08:21 --> 页面丢失:m/style/images/ui-bg_inset-soft_25_000000_1x100.png 错误 - 2012-11-29 04:08:21 --> 类“Plugin_Url”上不存在插件方法“baseuri”。 错误 - 2012-11-29 04:09:51 --> 页面丢失:m/style/images/ui-bg_inset-soft_25_000000_1x100.png 错误 - 2012-11-29 04:09:51 --> 类“Plugin_Url”上不存在插件方法“baseuri”。 错误 - 2012-11-29 04:10:35 --> 类“Plugin_Url”上不存在插件方法“baseuri”。 错误 - 2012-11-29 04:10:35 --> 类“Plugin_Url”上不存在插件方法“baseuri”。 错误 - 2012-11-29 04:10:35 --> 类“Plugin_Url”上不存在插件方法“baseuri”。 错误 - 2012-11-29 04:10:38 --> 类“Plugin_Url”上不存在插件方法“baseuri”。 错误 - 2012-11-29 04:10:38 --> 类“Plugin_Url”上不存在插件方法“baseuri”。 错误 - 2012-11-29 04:10:39 --> 严重性:通知 --> 未定义索引:城市

服务器错误日志

[Thu Nov 29 00:29:33 2012] [warn] [client 141.101.99.77] mod_fcgid: stderr: PHP Warning: date(): 依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们在第 134 行的 /var/www/vhosts/mypartyaid.com/httpdocs/m/post.php 中为 'EST/-5.0/no DST' 选择了 'America/New_York',引用者:http://www.mypartyaid.com/m/post.php?pid=80

[Thu Nov 29 00:32:01 2012] [warn] [client 108.162.222.7] mod_fcgid:读取数据超时 45 秒,referer:http://www.mypartyaid.com/admin

[Thu Nov 29 00:32:01 2012] [error] [client 108.162.222.7] 脚本头过早结束:index.php,referer:http://www.mypartyaid.com/admin

[Thu Nov 29 00:35:42 2012] [warn] [client 108.162.222.7] mod_fcgid:读取数据超时 45 秒,referer:http://www.mypartyaid.com/admin

[Thu Nov 29 00:35:42 2012] [error] [client 108.162.222.7] 脚本头过早结束:index.php,referer:http://www.mypartyaid.com/admin

【问题讨论】:

    标签: codeigniter webserver php pyrocms


    【解决方案1】:

    问题最终不是服务器错误,而是默认用户模型效率低下。该模块将用户表拆分为两个不同的表default_profilesdefault_users。然后使用user_id 字段连接这两个表。

    问题在于 CMS 中许多生成的 SQL 语句在 default_profiles 上运行复杂的连接语句,导致查询时间随着用户表的大小线性增加。

    我在user_id 字段上建立了索引,网站主页的查询时间从 8 秒降至 0.001 秒以下。因此,向该字段添加索引将使您的用户表能够正确缩放。

    【讨论】:

      【解决方案2】:

      500 几乎总是表示致命错误,但实际网站显然不想吐出调试数据,这可能导致您的用户发现他们可以用来入侵网站的信息。

      检查您的 PHP 日志,答案应该很明显。如果您无法从中解决问题,请编辑您的问题以包含日志中的错误消息并对此问题发表评论,以便我可以更新我的答案。

      【讨论】:

      • 我已经编辑了我的答案,错误日志中几乎没有错误......感谢您抽出时间菲尔。
      • 什么是 04:08:15 --> 类“Plugin_Url”上不存在插件方法“baseuri”。错误 - 2012-11-29 您是否在某个地方的主题或内容中调用 {{ uri:baseuri }}?因为我从来没有听说过。
      • {{ uri:baseuri }} 它在主题中使用......现在我已经删除了这个,但我认为这不会导致问题......
      • 您使用了不存在的标签并导致错误,如日志中所示。日志中还有其他内容吗?
      • 它误用了上面服务器错误中提到的服务器端的主要问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-17
      • 2011-10-17
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多