かなり大きなPHP 5.3コードベースをPHP 7にアップグレードしようとしています。CentOS6.5でホストされているので、そのOSで維持したいと思います。 。現在、未使用のVagrantボックスで実行しています-PHP 7を正常にインストールし、Memcacheを除くすべてのモジュールをインストールしました。
Rootとして、pecl install memcache
を実行すると、v2.2.7をインストールしようとしますが、makeからエラーと警告の長いリストが表示されます。最後に:
make: *** [memcache.lo] Error 1
ERROR: `make' failed
GoPHP7 によると、MemcacheはPHP 7で動作するはずです-githubのphp7ポート "。確かに Memcache PHP GitHubの7ポート 。 PeclのMemcacheページ ページには、v3.0.8をインストールする必要があることが示されていますが、これはベータ版です(2013年以降です)。
だから私はpecl install memcache-3.0.8
を実行しようとしましたが、それでも失敗し、上記と同じエラーが発生します。
make: *** [memcache.lo] Error 1
ERROR: `make' failed
では、CentOS6.5でMemcache拡張機能をPHP 7で動作させることは可能ですか?
あなたがまだこれを解決していないのなら、私は私のために働いた解決策を持っています。私はCentOS7.xを使用していますが、それでも機能するはずです。他のユーザーは pecl-memcache with PHP 7(not pecl-memcached 完全に異なるパッケージであるため)。
すでに発見しているように、これには Memcache PHP GitHubの7ポート を使用する必要があります。
シェルにログインして、以下を実行します。
1. wget https://github.com/websupport-sk/pecl-memcache/archive/NON_BLOCKING_IO_php7.Zip
2. unzip NON_BLOCKING_IO_php7.Zip
3. cd pecl-memcache-NON_BLOCKING_IO_php7
4. /opt/cpanel/ea-php70/root/usr/bin/phpize && ./configure --enable-memcache --with-php-config=/opt/cpanel/ea-php70/root/usr/bin/php-config && make
5. cp modules/memcache.so /opt/cpanel/ea-php70/root/usr/lib64/php/modules/
6. echo 'extension=memcache.so' >/opt/cpanel/ea-php70/root/etc/php.d/memcached.ini
7. service httpd restart
上記に関するいくつかの注意事項:
お役に立てば幸いです。