Php Mediawiki抱怨OpenU basedir限制。我如何解决它?
在最近更新(系统和mediawiki)之后,我的mediawiki基本上是完全空白的。但数据库和一切似乎都完好无损。启用php调试输出后,我得到以下消息 警告:is_executable():open_basedir限制生效。文件(/usr/bin/php)不在允许的路径内:(/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/var/lib/mediawiki/)在第655行的/usr/share/webapps/mediawiki/includes/Wiki.php中Php Mediawiki抱怨OpenU basedir限制。我如何解决它?,php,mediawiki,Php,Mediawiki,在最近更新(系统和mediawiki)之后,我的mediawiki基本上是完全空白的。但数据库和一切似乎都完好无损。启用php调试输出后,我得到以下消息 警告:is_executable():open_basedir限制生效。文件(/usr/bin/php)不在允许的路径内:(/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/var/lib/mediawiki/)在第655行的/usr/share/webapps/medi
我的问题是我如何着手解决这个问题?简单地将/usr/bin/php添加到我的open_basedir()限制中似乎非常不安全。错误似乎发生在
MediaWiki::doJobs()
中,它试图启动一个单独的php进程在后台异步处理。要解决此问题,您可以:
- 编辑php.ini以将
添加到允许的路径/usr/bin/php
- 在LocalSettings.php中设置为完全禁用自动作业处理,改为通过cron运行,或
- 设置为指向在use\u basedir下允许但不是可执行程序的某个文件,这将导致
检查以静默方式失败,并强制MediaWiki返回同步作业处理is\u executable()
也就是说,如果您不想使用第一个选项,那么将后两个选项结合起来可能是最安全和最有效的:通过cron运行后台作业会使它们脱离正常的请求处理路径,将
$wgPhpCli
设置为伪值可确保MediaWiki也不会出于任何其他目的启动后台PHP进程。PHP试图访问PHP可执行文件似乎非常愚蠢。我会从Wiki.php的第655行开始检查您的服务器和Wiki文件中是否存在一些错误配置,看看它到底在那里做什么,以及为什么。嗯,升级后您是否从cli运行了php maintenance/update.php
?运行php maintenance/runJobs.php
清空作业队列,和php maintenance/update.php
按照你的建议,我没有修改这个问题。Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。另见。