PHP配置XCache的时候出现出现如下问题:
0 1 2 3 4 5 |
[root@hk xcache-3.1.0]# /usr/local/php/bin/php -v PHP Warning: PHP Startup: Unable to load dynamic library '/byrd/server/php-5.5.11/lib/php/extensions/no-debug-non-zts-20121212/xcache.so' - /byrd/server/php-5.5.11/lib/php/extensions/no-debug-non-zts-20121212/xcache.so: undefined symbol: core_globals_id in Unknown on line 0 PHP 5.5.11 (cli) (built: May 14 2014 21:52:50) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies |
这个问题是由于我个人的疏忽导致的,问题和《PHP出现make: *** [sapi/cli/php] Error 1》一样!删除xcache-3.1.0目录,重新解压编译即可。
贴出官方的解决方法:
问题:xcache.so: undefined symbol: core_globals_id
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
可能是其他各种 *_globals_id 或者 *_id. 这说明您的系统里用来编译 XCache 的 php 头文件 (*.h 文件) 版本并不符合您的 php 可执行 (或者 mod_php )文件. 显然, 解决办法就是删除那些错误版本的头文件 重新编译 XCache. 1:删除头文件 在有些系统下, php 头文件属于 php-devel 软件包. 删除/重新安装这个包即可. 如果是手工删除则参考以下指令: (updatedb 可略) # updatedb # locate include/php/main /usr/lib64/php5/include/php/main /usr/lib64/php5/include/php/main/build-defs.h /usr/lib64/php5/include/php/main/php_scandir.h /usr/lib64/php5/include/php/main/php_regex.h ...... (现在删除) # rm -rf /usr/lib64/php5/include/php/ # cd php (重新安装头文件) php # make install 2:重新编译 XCache $ cd xcache $ make distclean $ phpize --clean $ phpize $ ./configure --enable-... && make $ su # make install |
问题:错误: * is incompatible with XCache n Unknown on line 0
0 |
在 php.ini 里使用 zend_extension=/path/to/xcache.so 或者 zend_extension_ts, 并注意他在其他 zend_extension=* 之前 (此条信息仅 3.0 以前有效) |
申明:申明:本文由BYRD原创(基于PHP 5.5.11),未经许可禁止转载!
参考:http://xcache.lighttpd.net/wiki/Faq#xcache.so:undefinedsymbol:core_globals_idSourceByrd's Weblog-https://note.t4x.org/error/undefined-symbol-core/ SourceByrd's Weblog-https://note.t4x.org/error/undefined-symbol-core/
申明:除非注明Byrd's Blog内容均为原创,未经许可禁止转载!详情请阅读版权申明!