Centos 7コンパイルインストールPHP 7.3.2

3626 ワード

phpコンパイルインストールは、コンポーネントの構成をより柔軟にすることができますが、phpのさまざまな構成に詳しい必要があります.具体的なコンパイルパラメータは、phpの解凍パスの下で「./configure--help」を実行して詳細を表示することができます.以下は概ねインストールの流れで、参考にすることができます.
依存パッケージのインストール
yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel 
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel 
readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel 
ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel 
xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel libzip

インストールパッケージをダウンロードして解凍
wget http://php.net/distributions/php-7.3.2.tar.gz
tar -zxvf php-7.3.2.tar.gz
cd php-7.3.2

コンパイルインストール(./configure--helpコンパイルパラメータを表示)
./configure \
 --prefix=/usr/local/php\
 --enable-fpm\
 --with-fpm-user=www\
 --with-fpm-group=www\
 --with-config-file-path=/usr/local/php/conf\
 --disable-rpath\
 --enable-soap\
 --with-libxml-dir\
 --with-xmlrpc\
 --with-openssl\
 --with-mhash\
 --with-pcre-regex\
 --with-zlib\
 --enable-bcmath\
 --with-bz2\
 --enable-calendar\
 --with-curl\
 --enable-exif\
 --with-pcre-dir\
 --enable-ftp\
 --with-gd\
 --with-openssl-dir\
 --with-jpeg-dir\
 --with-png-dir\
 --with-zlib-dir\
 --with-freetype-dir\
 --enable-gd-jis-conv\
 --with-gettext\
 --with-gmp\
 --with-mhash\
 --enable-mbstring\
 --with-onig\
 --with-mysqli=mysqlnd\
 --with-pdo-mysql=mysqlnd\
 --with-zlib-dir\
 --with-readline\
 --enable-shmop\
 --enable-sockets\
 --enable-sysvmsg\
 --enable-sysvsem \
 --enable-sysvshm \
 --enable-wddx\
 --with-libxml-dir\
 --with-xsl\
 --enable-zip\
 --with-pear

注意:コンフィギュレーション・タイムズのlibzipバージョンが低すぎる場合は、高バージョンの再インストールをアンインストールしてください.
完了したら、コンパイルとインストールを行い、make&&make installを実行するとインストールできます.
注意:編集タイムズ:php 7 configure:error:off_t undefined; check your library configurationエラー:
#            
echo '/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64'>>/etc/ld.so.conf
#     
ldconfig -v

注意:タイムズをコンパイルする場合:/usr/local/include/zip.h:59:21: fatal error: zipconf.h:No such file or directoryエラーです.次の操作を行います.
        libzip           zipconf.h,       
cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

インストール後の構成
インストールコマンドを実行するとphp 7は/usr/local/phpディレクトリにインストールされます.
/usr/local/php/bin/php -v

インストールが成功したかどうかを確認します.
後で便利にするために、/etc/profileを編集して環境変数を追加し、一番後ろに追加することができます.
PATH=$PATH:/usr/local/php/bin
export PATH

次に環境変数を更新します.
source /etc/profile

環境変数の表示
echo $PATH

phpバージョンの表示
php -v

php-fpmの構成
cp php.ini-production /usr/local/php/conf/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

php-fpmを起動サービスに追加
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm.service

php-fpmの起動
systemctl start php-fpm.service

こんな間違いを報告したら
Starting php-fpm [2-Feb-2019 21:02:25] ERROR: [pool www] cannot get uid for user 'www'

ユーザーがいないことを説明し、直接実行します.
groupadd www
useradd -g www www

php-fpmを再起動します
転載先:https://www.cnblogs.com/imike/p/10485907.html