ホームページ >バックエンド開発 >PHPチュートリアル >php5.2.17 と手動パッチ php-fpm のインストール
1.インストール扩展
yum -y install perl-DBI curl-devel libcurl-level mysql mysql-devel gcc gcc-c++ openssl openssl-devel pcre pcre-devel zlib zlib-devel bzip2 bzip2-devel libxml2 libxml2-devel libmhash libmhash-devel libjpeg libjpeg-devel libpng libpng-devel
2.ダウンロードphpとphp-fpm
wget http://soft.7dot.com/soft/php -5.2.17.tar.gz
wget -c http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
3.インストール编译php
tar zxvf php-5.2.17.tar.gz
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
cd php-5.2.17
./configure --prefix=/usr/local/php --enable-fastcgi --enable- zip --enable-fpm --enable-gd-native-ttf --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/ php/etc/php.d --with-bz2 --with-curl --with-libxml-dir --with-gd --with-jpeg-dir --with-freetype-dir --with-png-dir --with-mcrypt --with-mhash --enable-mbstring --with-kerberos --with-gettext --enable-bcmath --with-mysql --with-mysqli --with-sqlite --enable-pdo --with-pdo-mysql --with-openssl --enable-ftp --with-pear --with-zlib --enable-inline-optimization --enable-calendar --enable-magic-quotes --enable-ソケット --enable-sysvsem --enable-sysvshm --enable-sysvmsg --disable-debug
make
make test
make install
4.编译过程可能性出错の地域および変更方法
1)mcrypt.h が見つかりません。 libmcrypt
centos を再インストールしてください。libmcrypt-devel をインストールできません。バージョンの原因により、自带mcrypt の包帯が存在しないため、2 つの方法で解決できます。1 つは第三方ソースの使用です。これは yum を使用してインストールできます。
解決法一
第三方 yum ソースをインストールします
wget http://www.atomicorp .com/installers/atomic
yum コマンドインストール
yum install php-mcrypt libmcrypt libmcrypt-devel
解决办法二、
usephp mcrypt前に必ずインストールするLibmcrypt
libmcryptソースコードインストール方法:
cd /usr/local/srcwget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gztar -zxvf libmcrypt-2.5.8.tar.gzcd /usr/local/src/libmcrypt-2.5.8./configure --prefix=/usr/localmakemake install
2)エラー: /usr の下に libmysqlclient が見つかりません。 MySQL クライアント ライブラリはもうバンドルされていないことに注意してください。
问题是64 位系统中 libmysqlclient 默认実装到了 /usr/lib64/mysql/ 目录下
而/usr/lib 目录下有相应文件,ただしphp编译時,要去 /usr/lib目录下查找
解決方法:
ln -s /usr/lib64/mysql/libmysqlclient.so.16.0.0 / usr/lib/libmysqlclient.so
3)/usr/bin/ld: -lltdl
collect2 が見つかりません: ld は 1 つの終了を返しましたstatus
make: *** [libphp5.la] Error 1
深究该问题应该是该库的头文件库没有安装所致
yum list all | grep ltdl
yum -y install libtool-ltdl-devel.x86_64
4)
## 根据 PEAR システム設定ファイルを /usr/local/php/ に書き込みましたetc/pear.conf
##php.ini include_path に /usr/local/php/lib/php を追加するとよいでしょう
##PDO ヘッダーのインストール: /usr/local/php/include/ php/ext/pdo/
##这个信息,我们需要在当前 php-5.2.17目录下行行
cp php-5.2.17/php.ini-dist /usr/local/php /lib/php.ini
5)
启动 PHP-FPM 時,如遇到下面这个错误信息:
Starting php_fpm Feb 07 10:52:35.508786 [ERROR] fpm_unix_conf_wp()、124 行目: root 以外のユーザーとグループ、プール 'default' を指定してください
打开 php-fpm.conf 構成文件,找到以下の部分:
プロセスの Unix ユーザー
801f3c328ee9f8ed227d58c77eb87782nobody4b175f9a50d57c75316becd702e959dc -->
プロセスの Unix グループ
efd0ea8ef43a94de5f491cf128e27bccnobody4b175f9a50d57c75316becd702e959dc -->
を削除し、user=nginx group=nginx
5 のように、サービス
/usr/local/php/sbin/php-fpm startservice nginx restart
service mysqld restart
其它的一部细节设置没有一详写,请大家指教改正!