ホームページ  >  記事  >  バックエンド開発  >  ソースコードからphp7をコンパイルしてインストールする方法

ソースコードからphp7をコンパイルしてインストールする方法

coldplay.xixi
coldplay.xixi転載
2020-06-23 18:00:205018ブラウズ

ソースコードからphp7をコンパイルしてインストールする方法

最新バージョンの php 7.0.5 ソース コード パッケージをダウンロードします。

ダウンロードしてサーバーにアップロードします

PHP のインストールにはコンパイルが必要なため、サーバーは gcc および g 環境を確実にインストールする必要があります。

推奨チュートリアル: 「

PHP ビデオ チュートリアル

最初のリリースインストールパッケージ :

tar -xvzf php-7.0.5.tar.gz
cd php-7.0.5

次に、パラメータを設定します。設定前に libxml2 と libxml2-devel が存在しない場合はエラーが報告されるため、libxml2 を更新し、libxml2-devel をインストールする必要があります。オンライン インストールを使用します。 :

yum -y install libxml2
yum -y install libxml2-devel

補足, オペレーティング システム環境が異なると、システム インストールおよび開発環境パッケージの完成度が異なるため、オペレーティング システムをインストールするときに必要な選択を行うことをお勧めします。アンインストールされたコンポーネントを統一した方法でインストールします。すでにインストールされている場合は、アップグレードすることができます。バージョンが完全に一致している場合は、操作は実行されません。上記の 2 つのコマンドに加えて、コマンドは次のように要約されます:

yum -y install openssl
yum -y install openssl-devel
yum -y install curl
yum -y install curl-devel
yum -y install libjpeg
yum -y install libjpeg-devel
yum -y install libpng
yum -y install libpng-devel
yum -y install freetype
yum -y install freetype-devel
yum -y install pcre
yum -y install pcre-devel
yum -y install libxslt
yum -y install libxslt-devel
yum -y install bzip2
yum -y install bzip2-devel
ソースコードからphp7をコンパイルしてインストールする方法

ソースコードからphp7をコンパイルしてインストールする方法 基本的には上記のパッケージで十分です。問題があれば追加してください。インストールが完了したら、設定を実行します。

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip

実際には、ここには上記よりも多くの設定項目があります。./configure --help コマンドを使用できます。すべてのオプションを表示します。ここで、 --with-mysql のネイティブ サポートは php7 には存在しないことに注意してください。 , そして操作は mysqli または pdo になりました。通常の PHP 開発には上記のオプションで十分です。必要に応じて、対応するモジュールを手動で開きます

それからコンパイルを実行します:

make

コンパイル時間は少し長くなる可能性があります。コンパイルが完了したら、インストールを実行します:

make install

php のデフォルトのインストール場所はすでに上記にあります /usr/local/php として指定し、対応するファイルを設定します。

cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
ln -s /usr/local/php/sbin/php-fpm /usr/local/bin

次に、php.ini を設定し、vim /usr/local/php/lib/php.ini を使用して php 設定ファイルを開き、cgi .fix_pathinfo 設定項目を見つけます。この項目はデフォルトでコメントアウトされており、公式ドキュメントによると、これは、ファイルが存在しないときに Nginx がバックエンド PHP-FPM モジュールにリクエストを送信するのを防ぎ、悪意のあるスクリプト インジェクション攻撃を回避するためです。 0

# 設定後に保存して終了します

もう 1 つ注意すべき点は、php.ini 設定ファイルの場所です。コンパイル前のパラメータ。コンパイル パラメータは次のように記述できます: --with-config-file-path=/usr/local/php。この場合、php は指定されたディレクトリに戻り、php.ini 設定ファイルを読み取ります。これを追加しない場合 パラメータのデフォルトの場所は、PHP インストール ディレクトリの下の lib ディレクトリです。詳細は phpinfo() 出力インターフェイスでも確認できます。php.ini が他の場所に配置されており、php.ini で読み取れない場合PHP を実行すると、すべての設定変更が有効になりません。これに注意してください

この時点では、最初に Web ユーザーを作成する必要があります:

groupadd www-data
useradd -g www-data www-data

その後、一部のオンライン チュートリアルでは php-fpm を変更する必要があります。 .conf に上で作成したユーザーとグループを追加します。このとき、vim / usr/local/etc/php-fpm.conf を使用します。ファイルを開いた後、正式な場所が見つかりません:

この時点でランダムな場所に追加すると、次のステップ php-fpm を起動するとディレクトリが見つからないエラーが報告されるため、php-fpm.conf にはユーザーとグループを追加しないでくださいこの時点で、php-fpm.conf の最後の行に移動すると、次の内容が表示されます (コンパイル中に追加された場合、 --prefix オプションにより次の位置が自動的に補完されます。デフォルトでは以下が空です。注意してください)。

php-fpm.d ディレクトリ内のすべての conf がここで紹介されます。設定ファイルですが、実際のディレクトリ /usr/local

に変更する必要のあるものはありません。

  

  默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:

cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
vim /usr/local/etc/php-fpm.d/www.conf

  默认user和group的设置为nobody,将其改为www-data

  

  修改完成之后,保存并退出,然后执行以下命令启动php-fpm服务:

/usr/local/bin/php-fpm

  启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -ntlp | grep 9000 可以查看端口使用情况:

  

  9000端口正常使用,说明php-fpm服务启动成功

  然后执行 vim /usr/local/nginx/nginx.conf 编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:

  

  然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:

  

  这里面很多都是默认的,root是配置php程序放置的根目录,主要修改的就是fastcgi_param中的/scripts为$document_root

  修改完上面的,回到nginx.conf第一行,默认是#user nobody;  这里要去掉注释改为user www-data;或者user www-data www-data;表示nginx服务器的权限为www-data

  修改完这些保存并退出,然后重启nginx:

/usr/local/nginx/nginx -s stop
/usr/local/nginx/nginx

  接下来编辑一个测试的php程序,在nginx下的html目录下创建test.php文件,打印一下php配置:

<?php
    phpinfo();
?>

以上がソースコードからphp7をコンパイルしてインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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