php 7 install 抛出“无法加载 Zend OPcache - 它已经加载”错误

Qua*_*tum 17 centos php

我正在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
Run Code Online (Sandbox Code Playgroud)

没有

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
Run Code Online (Sandbox Code Playgroud)

我用这个安装(在盐状态文件中)

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
Run Code Online (Sandbox Code Playgroud)

我知道它是从 7.0 repo 安装的yum install php-opcache,然后是一个php -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
Run Code Online (Sandbox Code Playgroud)

我根本无法找到与此相关的任何内容。任何想法都会很棒。

可能有帮助的注意事项:
  1. 这是一个vagrant加载 CentOS 6.5的服务器
  2. 供应通过 salt
  3. salt运行时安装是干净的

更新

因此,我尝试不安装 Zen Opcache,认为它符合 php 7,但事实并非如此。我正在尝试查看正在加载的内容,或者我提供的 opcache.ini 文件是否存在一些问题。也许有一些新设置将 php5 移至该区域的 php 7。

Qua*_*tum 21

原来我正在加载一个opcache.ini文件,这是 php 5 默认使用的文件,但在 php 7 中它是10-opcache.ini默认加载的,所以当我的 opcache.ini 文件被配置时,它有两个.ini文件并试图加载插件两次.

我不会删除这个问题,因为我相信这是一个很容易被忽视的错误,并且可能会有所帮助,因为您无法真正搜索该错误阶段,并且没有一个地方有任何关于加倍 ini 文件的内容或两次声明扩展名。

  • 同样的事情,今天用 PHP7 也发生在我身上。我运行了 `ls -la /etc/php/7.0/cli/conf.d`,果然,里面有两个 opcache 符号链接:`10-opcache.ini` 和 `20-opcache.ini`。在两个 `20-opcache.ini` 中有较旧的时间戳,所以我删除了那个符号链接(`sudo rm /etc/php/7.0/cli/conf.d/20-opcache.ini`),一切都很好现在。谢谢! (6认同)