PHP 7模块已经加载警告

我有一台运行Ubuntu 14.04.3 LTS的机器,通过Ansible部署。 我已经使用OndřejSurý的PHP for PHP安装了PHP 7。

$ dpkg -l | grep -i php ii libapache2-mod-php7.0 7.0.3-2+deb.sury.org~trusty+1 amd64 server-side, HTML-embedded scripting language (Apache 2 module) ii php-common 1:36+deb.sury.org~trusty+1 all Common files for PHP packages ii php7.0 7.0.4-6+deb.sury.org~trusty+1 all server-side, HTML-embedded scripting language (metapackage) ii php7.0-cli 7.0.0-5+deb.sury.org~trusty+1 amd64 command-line interpreter for the PHP scripting language ii php7.0-common 7.0.4-6+deb.sury.org~trusty+1 amd64 documentation, examples and common module for PHP ii php7.0-fpm 7.0.4-6+deb.sury.org~trusty+1 amd64 server-side, HTML-embedded scripting language (FPM-CGI binary) ii php7.0-json 7.0.0-5+deb.sury.org~trusty+1 amd64 JSON module for PHP ii php7.0-opcache 7.0.0-5+deb.sury.org~trusty+1 amd64 Zend OpCache module for PHP ii php7.0-pgsql 7.0.4-6+deb.sury.org~trusty+1 amd64 PostgreSQL module for PHP 

警告

当cron运行/usr/lib/php/sessionclean ,我得到以下警告:

 PHP Warning: Module 'PDO' already loaded in Unknown on line 0 PHP Warning: Module 'calendar' already loaded in Unknown on line 0 PHP Warning: Module 'ctype' already loaded in Unknown on line 0 PHP Warning: Module 'exif' already loaded in Unknown on line 0 PHP Warning: Module 'fileinfo' already loaded in Unknown on line 0 PHP Warning: Module 'ftp' already loaded in Unknown on line 0 PHP Warning: Module 'gettext' already loaded in Unknown on line 0 PHP Warning: Module 'iconv' already loaded in Unknown on line 0 PHP Warning: Module 'Phar' already loaded in Unknown on line 0 PHP Warning: Module 'posix' already loaded in Unknown on line 0 PHP Warning: Module 'sockets' already loaded in Unknown on line 0 PHP Warning: Module 'sysvmsg' already loaded in Unknown on line 0 PHP Warning: Module 'sysvsem' already loaded in Unknown on line 0 PHP Warning: Module 'sysvshm' already loaded in Unknown on line 0 PHP Warning: Module 'tokenizer' already loaded in Unknown on line 0 PHP Warning: Module 'PDO' already loaded in Unknown on line 0 PHP Warning: Module 'calendar' already loaded in Unknown on line 0 PHP Warning: Module 'ctype' already loaded in Unknown on line 0 PHP Warning: Module 'exif' already loaded in Unknown on line 0 PHP Warning: Module 'fileinfo' already loaded in Unknown on line 0 PHP Warning: Module 'ftp' already loaded in Unknown on line 0 PHP Warning: Module 'gettext' already loaded in Unknown on line 0 PHP Warning: Module 'iconv' already loaded in Unknown on line 0 PHP Warning: Module 'Phar' already loaded in Unknown on line 0 PHP Warning: Module 'posix' already loaded in Unknown on line 0 PHP Warning: Module 'sockets' already loaded in Unknown on line 0 PHP Warning: Module 'sysvmsg' already loaded in Unknown on line 0 PHP Warning: Module 'sysvsem' already loaded in Unknown on line 0 PHP Warning: Module 'sysvshm' already loaded in Unknown on line 0 PHP Warning: Module 'tokenizer' already loaded in Unknown on line 0 PHP Warning: Module 'PDO' already loaded in Unknown on line 0 PHP Warning: Module 'calendar' already loaded in Unknown on line 0 

当运行php -v我得到这些警告的一个子集:

 PHP Warning: Module 'PDO' already loaded in Unknown on line 0 PHP Warning: Module 'calendar' already loaded in Unknown on line 0 PHP Warning: Module 'ctype' already loaded in Unknown on line 0 PHP Warning: Module 'exif' already loaded in Unknown on line 0 PHP Warning: Module 'fileinfo' already loaded in Unknown on line 0 PHP Warning: Module 'ftp' already loaded in Unknown on line 0 PHP Warning: Module 'gettext' already loaded in Unknown on line 0 PHP Warning: Module 'iconv' already loaded in Unknown on line 0 PHP Warning: Module 'Phar' already loaded in Unknown on line 0 PHP Warning: Module 'posix' already loaded in Unknown on line 0 PHP Warning: Module 'sockets' already loaded in Unknown on line 0 PHP Warning: Module 'sysvmsg' already loaded in Unknown on line 0 PHP Warning: Module 'sysvsem' already loaded in Unknown on line 0 PHP Warning: Module 'sysvshm' already loaded in Unknown on line 0 PHP Warning: Module 'tokenizer' already loaded in Unknown on line 0 

偶尔在CodeIgniter的日志中,我得到这一行:

 Severity: Core Warning --> Module 'tokenizer' already loaded Unknown 0 

configuration文件

这个错误不是一个新的,所以我有很多其他的问题要看,但他们build议的解决scheme是确保没有任何重复的extension=...在我的php.ini行,但没有'任何。

这里是/etc/php中的所有文件。 有很多ini文件可以在多个地方链接到各个模块,这些文件可能会导致问题。

 /etc/php/mods-available/json.ini /etc/php/mods-available/opcache.ini /etc/php/7.0/fpm/php-fpm.conf /etc/php/7.0/fpm/conf.d/* -> /etc/php/7.0/mods-available/* /etc/php/7.0/fpm/pool.d /etc/php/7.0/fpm/pool.d/www.conf /etc/php/7.0/fpm/php.ini /etc/php/7.0/cli/conf.d/* -> /etc/php/7.0/mods-available/* /etc/php/7.0/cli/php.ini /etc/php/7.0/apache2/php.ini.ucf-dist /etc/php/7.0/apache2/conf.d/* -> /etc/php/7.0/mods-available/* /etc/php/7.0/apache2/php.ini /etc/php/7.0/mods-available/fileinfo.ini /etc/php/7.0/mods-available/pdo_pgsql.ini /etc/php/7.0/mods-available/sockets.ini /etc/php/7.0/mods-available/exif.ini /etc/php/7.0/mods-available/shmop.ini /etc/php/7.0/mods-available/ctype.ini /etc/php/7.0/mods-available/sysvshm.ini /etc/php/7.0/mods-available/gettext.ini /etc/php/7.0/mods-available/ftp.ini /etc/php/7.0/mods-available/sysvmsg.ini /etc/php/7.0/mods-available/calendar.ini /etc/php/7.0/mods-available/iconv.ini /etc/php/7.0/mods-available/pdo.ini /etc/php/7.0/mods-available/phar.ini /etc/php/7.0/mods-available/posix.ini /etc/php/7.0/mods-available/tokenizer.ini /etc/php/7.0/mods-available/pgsql.ini /etc/php/7.0/mods-available/sysvsem.ini 

我需要删除哪些文件来停止警告,而不停止PHP的工作(通过networking和CLI)? (如果这很容易通过Ansible完成,奖励积分)

尝试将/etc/php/7.0/mods-available/中的.ini文件重命名为nameofthemodule.ini.back

例如:sudo mv tokenizer.ini tokenizer.ini.back

重新启动PHP,然后检查php -m,并检查该模块的警告是否消失。

似乎在安装一个扩展php-common也安装了,这个安装然后为扩展包括新的.ini文件。 但是那些扩展名已经在php二进制文件中编译了。

谨慎处理,以上段落只是一个猜测。