我正在使用salt
配置我的服务器,我只是尝试升级到 php 7,尽管一切都安装正确,但每当我运行php -v
或运行任何 php 任何内容时,它都会在任何输出的开头抛出此错误:Cannot load Zend OPcache - it was already loaded
。如果我看到这个就卸载Failed loading /usr/lib64/php/modules/opcache.so: /usr/lib64/php/modules/opcache.so: cannot open shared object file: No such file or directory
php-v
这是安装和未安装的完整输出php-opcache
。
和
Cannot load Zend OPcache - it was already loaded
PHP 7.0.1 (cli) (built: Dec 16 2015 15:31:55) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.4.0RC3, Copyright (c) 2002-2015, by Derick Rethans
没有
Failed loading /usr/lib64/php/modules/opcache.so: /usr/lib64/php/modules/opcache.so: cannot open shared object file: No such file or directory
PHP 7.0.1 (cli) (built: Dec 16 2015 15:31:55) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
with Xdebug v2.4.0RC3, Copyright (c) 2002-2015, by Derick Rethans
我用这个安装(在盐状态文件中)
remi-php70-repo:
pkgrepo.managed:
- humanname: Remi PHP 7 Repository
- baseurl: http://rpms.famillecollet.com/enterprise/$releasever/php70/$basearch/
- gpgcheck: 0
- require_in:
- pkg: php-fpm
php-fpm:
pkg.latest:
- pkgs:
- php-fpm
php-opcache:
pkg.latest:
- pkgs:
- php-opcache
我知道它是从基于 a 的 7.0 存储库安装的yum install php-opcache
,然后是 aphp -v
终端输出
[root@mage2appblock vagrant]# yum install php-opcache
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
epel/metalink | 14 kB 00:00
* base: mirror.spro.net
* epel: mirrors.cat.pdx.edu
* extras: mirror.keystealth.org
* updates: mirror-centos.hostingswift.com
base | 3.7 kB 00:00
centos-plus-repo | 3.4 kB 00:00
epel | 4.3 kB 00:00
epel/primary_db 35% [============- ] 0.0 B/s | 2.1 MB --:-- ETA epel/primary_db | 5.7 MB 00:00
extras | 2.9 kB 00:00
mysql56-community-repo | 2.5 kB 00:00
remi-php70-repo | 2.9 kB 00:00
remi-rep | 2.9 kB 00:00
remi-rep/primary_db 7% [== ] 0.0 B/s | 97 kB --:-- ETA remi-rep/primary_db 37% [============= ] 655 kB/s | 510 kB 00:01 ETA remi-rep/primary_db | 1.3 MB 00:00
repo-saltstack-el6 | 2.9 kB 00:00
updates | 3.4 kB 00:00
Resolving Dependencies
--> Running transaction check
---> Package php-opcache.x86_64 0:7.0.1-1.el6.remi will be installed
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================
Package Arch Version Repository Size
========================================================================================================================
Installing:
php-opcache x86_64 7.0.1-1.el6.remi remi-php70-repo 135 k
Transaction Summary
========================================================================================================================
Install 1 Package(s)
Total download size: 135 k
Installed size: 378 k
Is this ok [y/N]: y
Downloading Packages:
php-opcache-7.0.1-1.el6.remi.x86_64.rpm 18% [======- ] 0.0 B/s | 25 kB --:-- ETA php-opcache-7.0.1-1.el6.remi.x86_64.rpm 31% [=========== ] 27 kB/s | 43 kB 00:03 ETA php-opcache-7.0.1-1.el6.remi.x86_64.rpm 38% [=============- ] 28 kB/s | 52 kB 00:02 ETA php-opcache-7.0.1-1.el6.remi.x86_64.rpm 48% [================- ] 29 kB/s | 65 kB 00:02 ETA php-opcache-7.0.1-1.el6.remi.x86_64.rpm 55% [===================- ] 29 kB/s | 75 kB 00:02 ETA php-opcache-7.0.1-1.el6.remi.x86_64.rpm 69% [======================== ] 31 kB/s | 94 kB 00:01 ETA php-opcache-7.0.1-1.el6.remi.x86_64.rpm 90% [===============================- ] 35 kB/s | 122 kB 00:00 ETA php-opcache-7.0.1-1.el6.remi.x86_64.rpm | 135 kB 00:02
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php-opcache-7.0.1-1.el6.remi.x86_64 1/1
Verifying : php-opcache-7.0.1-1.el6.remi.x86_64 1/1
Installed:
php-opcache.x86_64 0:7.0.1-1.el6.remi
Complete!
[root@mage2appblock vagrant]# php -v
Cannot load Zend OPcache - it was already loaded
PHP 7.0.1 (cli) (built: Dec 16 2015 15:31:55) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.4.0RC3, Copyright (c) 2002-2015, by Derick Rethans
我根本找不到与此相关的任何内容。任何想法都会很棒。
可能有帮助的注释:- 这是
vagrant
加载 CentOS 6.5 的服务器 - 配置是通过提供的
salt
salt
运行时安装是干净的
更新
所以我尝试不安装 Zen Opcache,以为它是与 php 7 兼容的,但事实并非如此。我正在尝试查看正在加载的内容,或者我提供的 opcache.ini 文件是否存在问题。也许该区域中 php5 移动到 php 7 时存在一些新设置。
答案1
事实证明,我正在加载一个opcache.ini
文件,这是 php 5 默认使用的文件,但在 php 7 中,它是10-opcache.ini
默认加载的,所以当我的 opcache.ini 文件配置在其中时,它有两个.ini
文件,并且尝试加载插件两次。
我不会删除这个问题,因为我相信这是一个很容易被忽视的错误,并且可能会有所帮助,因为你无法真正用谷歌搜索该错误阶段,并且没有一个地方有任何关于双倍 ini 文件的内容或声明扩展两次。