ホームページ  >  記事  >  バックエンド開発  >  php7 のインストール方法と memcache 拡張機能のインストール方法古いバージョンと新しい php バージョンの間に互換性の問題がある場合はどうすればよいですか?

php7 のインストール方法と memcache 拡張機能のインストール方法古いバージョンと新しい php バージョンの間に互換性の問題がある場合はどうすればよいですか?

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-07-20 09:18:002515ブラウズ

あなたが php7 をインストールするかどうかはわかりませんし、memcache 拡張機能をインストールするときに古い php バージョンと新しい php バージョンの間の互換性の問題に対処するかどうかもわかりません。今日はそれについて説明します。必要に応じて参照できます。

php7 のインストール方法と memcache 拡張機能のインストール方法古いバージョンと新しい php バージョンの間に互換性の問題がある場合はどうすればよいですか?

http://php.net/downloads.php

php-7.0.0 をインストールします。

まず、依存プログラムをインストールします。すでにインストールされている場合は、スキップしてください

yum install -y php-mcrypt libmcrypt libmcrypt-devel
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel
#openssl-devel是64位 如果是32位服务器请选择i386版的
yum install openssl-devel.x86_64
yum install curl curl-devel
yum -y install libxslt-devel
yum install -y php-mcrypt libmcrypt libmcrypt-devel mcrypt mhash
./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-config-file-scan-dir=/usr/local/php7/etc/php.d \
--with-mcrypt \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache

make &&  make install

可选
--with-fpm-user=www \
--with-fpm-group=www \

If you are prompted: configure: error: mcrypt.h not found. Please reinstall libmcrypt.

centos6 のデフォルトの yum ソースであるため、configure: error: mcrypt.h not found. Please reinstall libmcrypt. .x には libmcrypt-devel パッケージがありません。著作権上の理由により、サードパーティの yum ソースを使用するか、インストール パッケージを自分で手動でダウンロードしてコンパイルすることのみが可能です。

wget http://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
./configure
make && make install

C コンパイラのデフォルト出力ファイルを確認する場合名前...設定: エラー: C コンパイラ

実行可能ファイルを作成できません

yum list | grep c++
yum install gcc-c++.x86_64

`libiconv' への未定義の参照が表示された場合は、最初に libiconv をインストールする必要があります

--with-iconv=/usr/local/libiconv

それでもエラーが発生する場合は、vim Makefile

Find EXTRA_LIBS =

最後に -liconv

を追加するか、直接 ZEND_EXTRA_LIBS='-liconv'

# を作成してください##古いバージョンの php を再インストールする場合は、Apache の LoadModule php5_module ファイルを再コンパイルする必要があります

./configure --with-apxs2=/usr/local/sbin/apxs

この時点で、php7 のインストールは完了です

mv /usr/local/src/php-7.1.0/php.ini-production /usr/local/php7/etc/php.ini

php-fpm サービスを有効にする

cd /usr/local/php7/etc
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

php-fpm.conf のユーザーとグループを変更するように注意してください。変更しないと、権限の問題により「ファイルが見つかりません」と報告される可能性があります。

user = nobody
group = nobody

実行 php-fpm

/usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini -y /usr/local/php7/etc/php-fpm.conf

Ifこのコマンドを使用したい場合は、service php-fpm start|stop|restart

cd /usr/local/src/php-7.1.0/sapi/fpm
ls
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on

service php-fpm start を使用して php-fpm を有効にできます。 ps -ef | grep php-fpm を使用してプロセスを確認します。

ただし、me​​mcache 拡張機能をインストールする場合は、

http://pecl.php.net/package/memcache

memcache-2.2.7 2012 安定版をインストールしてください

#如果已安装过autoconf请忽略
autoconf
yum install autoconf

phpize
./configure --enable-memcache --with-php-config=/usr/local/php7/bin/php-config
make && make install

現時点で致命的なエラーが報告されました /root/memcache-2.2.7/memcache.c:40:40: 致命的なエラー: ext/standard/php_smart_str.h: そのようなファイルまたはディレクトリはありません

php_smart_str.h ファイルが存在しません

Baidu 検索 php_smart_string.h は、文字列の前処理のためにメモリ領域を動的に適用します。これは、オペレーティング システムのページ内のメモリの割り当てに似ています。その利点は、メモリを調整することです。に対処し、アクセス速度を向上させます。

php7 ではこのファイルが php_smart_string.h に変更されていることがわかりました。2 つのファイルを比較すると、変更はかなり大きくなっています。

これが公式の互換性のためかどうかはわかりません。 PHP 開発チームは改善されていません

推奨学習:

php ビデオ チュートリアル

以上がphp7 のインストール方法と memcache 拡張機能のインストール方法古いバージョンと新しい php バージョンの間に互換性の問題がある場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。