最近升级了 PHP,更新时遇到以下错误消息:
第 0 行未知的 php_msgpack_serialize
首先,我从来没有听说过这个包。对该软件包的所有搜索都会导致一个单一的 PECL 存储库(这实际上也没有任何意义)——社区提及它的次数大约为零。
又进行了几次搜索,我追踪到了 php-memcached-dev 的存储库。 - 一个我从未见过或听说过的存储库。
当然,我听说过实际的 memcached 库存储库:libmemcached
我尝试到处寻找这个模块,以表明它是 centos 的合法部分,但我似乎无法获得任何好的/可靠的结果。
我搜索此包和/或存储库的任何迹象的位置:
- http://pkgs.org/
- http://stackoverflow.com
- http://php.net
- http://centos.org
- 刚刚搜索过 https://bugs.php.net太……
我不想在这里显得偏执,但我什至不确定现阶段这是否合法。
耸耸肩 - 我不知道。不过,我会保持服务器关闭状态,直到看到其他内容为止。有人有一些建议/意见吗?
对于偏执狂(是的,我自己发现了这一点),这里有一个丑陋的谷歌搜索:php_msgpack backdoor (注意:只有23个搜索结果。查看2nd3rd中的日期。我还没有'我自己点击了它,也不建议其他人点击它)这似乎是 rkhunter 搜索,寻找上面报告的相同文件。也许只是巧合,但谁知道呢。我想无论如何我都会把它推出去。
更新:嗯,长话短说,这是与 Cent 一起安装的 PHP 版本的问题。最新版本已修复。
最佳答案
在使用来自 Ondrej-PPA ( https://launchpad.net/~ondrej/+archive/ubuntu/php ) 的 PHP 5.5 的 Ubunu 16.04 上,我可以通过安装 php-msgpack 包来解决这个问题:
sudo apt-get install php-msgpack
然后启用 php-msgpack
sudo phpenmod msgpack
如果您将 apache2 与 PHP 一起使用,也许您必须在此之后重新启动 apache2。
这个错误消失了:
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20121212/memcached.so' -/usr/lib/php/20121212/memcached.so: undefined symbol :php_msgpack_serialize第 0 行未知
关于PHP memcached - 第 0 行未知的 php_msgpack_serialize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22927424/