PHP启动:无法加载动态库'..'从共享对象映射段失败:无法在行0上分配未知的内存


PHP Warning: PHP Startup: Unable to load dynamic library '...' failed to map segment from shared object: Cannot allocate memory in Unknown on line 0

我在我的开发机器上得到以下内容:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/gd.so' - /usr/lib/php5/20100525/gd.so: failed to map segment from shared object: Cannot allocate memory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/mcrypt.so' - /usr/lib/php5/20100525/mcrypt.so: failed to map segment from shared object: Cannot allocate memory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/mysql.so' - /usr/lib/php5/20100525/mysql.so: failed to map segment from shared object: Cannot allocate memory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/mysqli.so' - /usr/lib/php5/20100525/mysqli.so: failed to map segment from shared object: Cannot allocate memory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/pdo_mysql.so' - /usr/lib/php5/20100525/pdo_mysql.so: failed to map segment from shared object: Cannot allocate memory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/imagick.so' - /usr/lib/php5/20100525/imagick.so: failed to map segment from shared object: Cannot allocate memory in Unknown on line 0

你知道这是怎么回事吗?我正在运行mediawiki,每次加载页面都会出现这些警告。

在警告消息中引用的文件存在,我已经尝试在php.ini中提高memory_limit指令,但无济于事。有什么建议,我该如何进行?

不管这些警告,web应用程序似乎没有受到伤害。

我相信你需要在LocalSettings.php中筹集$wgMaxShellMemory。$wgMaxShellMemory = 512000;)

请阅读:美元wgMaxShellMemory

其他设置:$wgMaxShellMemory
Linux下shell进程可用的最大虚拟内存量,单位为KB。
在版本:1.7.0 (r14795)
版本中删除:仍在使用中取值范围:(integer)
默认值:102400

更新:这解决了我的问题

这里也是一样。这似乎与MediaWiki 1.21有关。我把一个Wiki从1.20升级到1.21,没有改变任何已安装的包,也出现了这个错误。

不再使用rsvg和ImageMagick生成图像缩略图。

如果我回滚到1.20,一切又正常了。

所以我试图在这里解决这个问题,唯一有效的是降级到MediaWiki 1.20.6,其中图像转换为其他大小或格式的SVG图像与所有支持的转换器工作。

如果在升级前没有数据库备份,可以使用Special:Export转储所有页面,并将其导入空安装

希望这能解决你的问题

查看php.ini

查找类似的内容

    ;extension=pdo_sqlite.so
    ;extension=sqlite.so 

把它注释掉:

   extension=pdo_sqlite.so
   extension=sqlite.so