簡體   English   中英

在Ubuntu 14.04上編譯時,PHP 5.5 Zend OPcache無法運行

[英]PHP 5.5 Zend OPcache Not Running When Compiled on Ubuntu 14.04

我在Ubuntu 14.04上將php 5.5.27編譯為具有PHP-FPM部署的Nginx 1.8.0的一部分,無法弄清為什么它不起作用。

我在系統上有以下php.ini文件。 我沒有使用Apache,所以第3個已退出...所以剩下第1個:

/srv/etc/web_x/php/php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini 

當我啟動nginx時,從phpinfo.php(安全的)頁面上看到的是我指向編譯后的php.ini,即:

Loaded Configuration File   /srv/etc/web_x/php/php.ini

但是,由於沒有Zend OPcache信息,因此它沒有運行。

關於opcache的唯一提及是--enable-opcache的configure選項。 根據phpinfo的完整配置選項是(我使用帶有變量的腳本,比帶有變量的腳本更容易呈現):

'./configure' '--prefix=/srv/apps/web_x/php' '--with-config-file-path=/srv/etc/web_x/php' '--with-config-file-scan-dir=/srv/etc/web_x/php/conf.d' '--with-curl' '--with-pear' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-freetype-dir' '--with-t1lib' '--with-mcrypt' '--with-mhash' '--with-mysql' '--with-mysqli' '--with-pgsql' '--with-pdo-mysql' '--with-pdo-pgsql' '--with-openssl' '--with-xmlrpc' '--with-xpm-dir' '--with-xsl' '--with-bz2' '--with-gettext' '--with-readline' '--with-fpm-user=wwx' '--with-fpm-group=wwx' '--with-imap' '--with-imap-ssl' '--with-kerberos' '--with-snmp' '--disable-debug' '--enable-opcache' '--enable-fpm' '--enable-cli' '--enable-gd-native-ttf' '--enable-inline-optimization' '--enable-json' '--enable-exif' '--enable-wddx' '--enable-zip' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-mbstring' '--enable-soap' '--enable-sockets' '--enable-shmop' '--enable-dba' '--enable-shared' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg'

奇怪的是,如果我看到的設置表明我已經為編譯安裝啟用了Zend OPcache,但未為Ubuntu提供的PHP CLI安裝啟用它:

/srv/etc/web_x/php/php.ini:[opcache]
/srv/etc/web_x/php/php.ini:opcache.enable=1
/srv/etc/web_x/php/php.ini:opcache.enable_cli=1
...

/etc/php5/cli/php.ini:[opcache]
/etc/php5/cli/php.ini:;opcache.enable=0
/etc/php5/cli/php.ini:;opcache.enable_cli=0
...

但是,如果我檢查Ubuntu PHP CLI,則會看到:

php --version

PHP 5.5.9-1ubuntu4.11 (cli) (built: Jul  2 2015 15:23:08)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies 

剛剛找到解決方案...將以下內容添加到php.ini文件的末尾:

zend_extension=opcache.so

在php.net上的PHP安裝指南中對此進行了討論,但我記得已經讀到不再需要它了,盡管很明顯(也許我曾經不正確地回憶起b / c曾經需要共享庫的路徑,並且顯然是不是)。

我曾希望使用--enable-opcache進行編譯的PHP 5.5可以解決此問題,但事實並非如此。 也許對於將來的PHP版本;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM