![在 MediaWiki 中保存编辑时偶尔出现问题](https://linux22.com/image/664969/%E5%9C%A8%20MediaWiki%20%E4%B8%AD%E4%BF%9D%E5%AD%98%E7%BC%96%E8%BE%91%E6%97%B6%E5%81%B6%E5%B0%94%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
在我们的 Wiki (http://scratch-dach.infoMediaWiki 1.25.1、PHP 5.3.29、MySQL 5.5.44-log) 我们在保存编辑时偶尔会遇到问题。浏览器会不定期地尝试下载 index.php 文件而不是提交编辑。似乎较大的页面更容易受到此问题的影响。
下载 PHP 源通常意味着 Apache 配置错误并且不允许在该目录中执行脚本,但是通常所有 php 脚本(尤其是来自 wiki 的 index.php)都可以在服务器上正常执行。
我们托管了许多具有相同扩展/配置的 wiki,但只有这个 wiki 会出现此类错误。这些 Wiki 之间唯一的具体区别似乎是我们的数据库超过 1 GB。Apache 日志中没有可疑条目。
经过一些测试,我们发现该错误仅出现在包含电子邮件地址或外部链接的页面上,例如
[http://test.name]
或http://test.name
但是,如上所述,错误是偶尔发生的,有时带有链接的页面会保存,有时我们会收到 php-Download 错误。问题是我们只有来自提供商 Strato 的“hoster”包,因此我们无法直接访问 php 和 apache 模块。
我们在网上搜索了很久,也没有找到关于此类问题的描述...
非常感谢您的帮助!
(这个问题是来自堆栈溢出我们被告知应该把问题放在服务器故障上。)
答案1
这不太可能是 PHP 或 MediaWiki 的问题。如果 Apache 决定执行一个脚本,无论该脚本做什么,Apache 都只会打印其输出。当 Apache 对.php
脚本使用除 PHP 之外的其他处理程序时,就会发生下载。
您所描述的情况(页面越大,失败的次数越多)听起来像是,.php
如果在运行脚本时出现错误(如超时或内存不足),Apache 会尝试将文件视为文本。也许您有一些奇怪的错误处理配置。loglevel traceX
可能有帮助。
答案2
经过长时间的搜索,我们找到了问题所在。提供商(STRATO)运行了一个名为服务器站点安全扫描重复输入相同 URL 的用户。虽然这通常是垃圾邮件机器人的行为,但在这种情况下,它会影响编辑带有链接的 Wiki 页面的普通用户。我们在询问提供商是否有类似的程序后找到了错误,ModSecurity已安装。通过配置界面停用 server-site-security 后,问题消失。