我查看了其他SO答案here和here关于此错误:FastCGI发送到stderr:“PHP消息:PHP致命错误:未捕获错误:调用未定义函数utf8_decode
两个答案都说安装PHP-xml会修复错误.但那没用.我运行了sudo apt install PHP-xml,它安装了PHP-xml和PHP7.0-xml,我重新启动了PHP-fpm和Nginx.但我仍然得到同样的错误.
还检查了function_exists(‘utf8_decode’)并返回false.所以当调用utf8_decode时,显然会抛出错误.
服务器是Ubuntu 16.04和PHP 7.0.这是PHPinfo输出(PDF):https://drive.google.com/file/d/0B3GpdAvwm4fOaWMwb0JkTFQyb0U/view?usp=sharing
解决方法:
好的,所以我想出来了.这与/etc/PHP/7.0/mods-available/中丢失的文件有关
通常应该有一个xml.ini文件,但由于我安装,卸载和重新安装PHP的方式,该文件丢失了.那项行动并没有干净利落.从PPA安装PHP后我卸载了它,删除了/ etc / PHP /中的许多文件(不建议这样做.请改用apt-get purge).
长话短说,这很有用:
sudo apt-get purge PHP-xml PHP7.0-xml
sudo apt-get install PHP-xml