ホームページ  >  記事  >  バックエンド開発  >  Linux に php をインストールする最も詳細なプロセス

Linux に php をインストールする最も詳細なプロセス

小云云
小云云オリジナル
2018-03-08 10:04:1422422ブラウズ

この記事では、主に Linux に php をインストールする最も詳細なプロセスを説明します。以前に nginx のインストール設定を書き、続いて php のインストールと mysql のインストールについて説明します。ただし、時間は限られています。一つの記事にまとめると長くなるので分けて書きます。phpをインストールしたらmysqlの設定です。

1: php がインストールされているかどうかを確認します

1) yum のインストールの確認: yum list がインストールされている | grep php

2) rpm のインストールの確認: rpm -qa | grep php

3) コンパイルとインストールにはさまざまな方法がありますphpの実行可能プログラムを見つけたり、ps -ef grep php | 他の方法でプロセスを確認したりするなど、自分でクエリを実行します。

2: php がインストールされていない場合は、php をインストールする前にプレインストール ソフトウェアを準備してください。もちろん、面倒でなければ、自分でコンパイルしてインストールすることもできます。ここでは詳細には触れません。

1) zlib と zlib-devel zlib はデータ圧縮関数ライブラリを提供し、nginx のフロントエンド ソフトウェアでもあります。zlib は php の zlib 拡張機能をコンパイルする必要があるため、コンパイル中に zlib.h ヘッダー ファイルが使用されます。ヘッダー ファイルは zlib -devel にあるため、zlib-devel もダウンロードする必要があります。

2) libxml2 と libxml-devel libxml2 は、xml に対してさまざまな操作を簡単に実行できる C 言語の xml ライブラリであり、xpath クエリをサポートし、xslt 変換などの機能を部分的にサポートします。

3) libxslt と libxslt-devel libxslt-devel をインストールしない場合、xslt.config ファイルが見つからないというメッセージが表示されます。xslt は、xml を他の形式に変換するための拡張機能です。


3) openssl および openssl-devel セキュア ソケット レイヤ暗号化ライブラリ

4) jpeg IJG の jpeg ライブラリ、PHP の gd ライブラリが必要。

5) libpng は、PNG ファイルの読み取りと書き込みのために C 言語で書かれた比較的低レベルのクロスプラットフォーム ライブラリです。これは、PHP の gd ライブラリに必要です。 。

6) freetype と freetype-devel は、複数のフォント形式にアクセスするための統合インターフェイスを提供する、無料のオープンソースのポータブル フォント エンジンです。これらは両方とも gd ライブラリの依存ソフトウェアであるため、インストールされていない場合、またはバージョンが異なる場合があります。低すぎると、php をインストールするときに、gd ライブラリをインストールするように設定すると、エラーが報告されます。また、-devel がインストールされていない場合は、コンパイル時に ft2build.h ファイルが見つからないため、エラーが報告されます。拡張子は次のようにエラーが報告されます。


7) gd gd はグラフィックスを処理するための PHP の拡張ライブラリです

8) yum のバージョンが低すぎるため、自分で直接コンパイルしてインストールしました。インストール方法は非常に簡単です。シンプル、つまり、wgetcurl アドレスをダウンロードした後、tar を解凍し、新しい /usr/local/curl フォルダーを作成し、解凍したcurlのフォルダーに入って設定します。/configure --prefix=/usr/local/curl最後に、make と make install でインストールします。

注: xxx-devel は、ヘッダー ファイル、静的ライブラリ、さらにはソース コードを含む xxx ソフトウェアの開発パッケージです。

3: PHP のダウンロードとインストール

1) wget を使用して PHP の tar.gz ファイルをダウンロードします: wget http://br2.php.net/get/php-7.2.2.tar.gz

2) gz ファイルを解凍します: tar zxvf php-7.2.2.tar.gz

3) 後で php をインストールする新しいフォルダーを作成します: mkdir /usr/local/php、解凍した php インストール パッケージ フォルダーを入力し、 configure 構成 :

./configure --prefix=/usr/local/php --with-curl=/usr/local/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-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable- inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml -- Enable-zip

注:

--prefix=インストールディレクトリ

--使用パッケージ名[=パッケージディレクトリ]

--enable-有効化する必要がある機能

4: PHP関連ファイルを設定する

1) php.ini を設定します。これは php 設定ファイルです: cp /home/myload/php-7.2.2/php.ini-development /usr/local/php/lib/php.ini

2) 設定しますphp-fpm.conf、これは php-fpm 設定ファイルです: cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

3) www.conf を設定し、ユーザーのファイルを設定します: cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf

4) php-fpm 起動ファイルを init にコピーします。 d フォルダー php を簡単に起動します: cp -R sbin/php-fpm /etc/init.d/php-fpm

5: php を起動し、インストールが成功したかどうかを確認します

コマンド /etc/init.d/php を実行します-fpm

開始されているかどうかを確認します: ps -ef | grep php は php によって開始されたプロセスを確認できます

6: インストールが成功したら、php

をサポートするように nginx を設定します1) php.ini ファイルを変更します (vim) /usr/local/php/lib /php.ini

設定 cgi.fix_pathinfo=1 を探してコメントを削除し、それを cgi.fix_pathinfo=0 に変更します。これは nginx がサポートする php 設定とは関係ありませんが、ここの値が nginx の php に固有のセキュリティ脆弱性です。は 1. ユーザーは画像をアップロードすることでトロイの木馬をアップロードし、URL を通じて画像アドレスにアクセスし、アドレスの後に /xxx.php を追加して画像を php ファイルとして実行できます。これは にのみ存在する問題です。 nginx と apache にはこの問題はありません

上記の問題については、非常に詳しく書かれている、Niao 兄弟のブログを直接参照してください: http://www.laruence.com/2010/05/20/1495 .html

2) Web 固有のグループとユーザーを構成します

www ユーザー グループを追加します: groupadd www

www ユーザー グループの下にユーザー www を追加します: useradd -g www www

3) php-fpm を変更します。 confの設定

コメントuser=nobodyを削除し、nobodyを上記で設定したwwwユーザーグループに変更します

コメントgroup=nobodyを削除し、nobodyを上記で設定したwwwユーザーグループに変更します

最後にphpの最終インクルード値かどうかを確認します-fpm.conf は正しい www.conf ディレクトリ アドレスです。間違っている場合は、正しいディレクトリ アドレスに置き換えます。

4) www.conf 設定を変更します

コメント user=nobody を削除し、nobody を上で設定した www ユーザー グループに変更します

コメント group=nobody を削除し、nobody を上で設定した www ユーザー グループに変更します

5) 変更しますnginx.conf ファイル /etc/local/nginx/conf/nginx.conf

コメント #user=nobody を削除して user=www

場所を削除します ~ .php${...}このコメントcode セクションを変更し、fastcgi_param の /scripts を $document_root


最後に、index.php がデフォルトのホームページとして使用されるように、場所 / {...} のデフォルトのインデックスの後に Index.php を追加します


6) php-fpm と nginx を再起動します。php-fpm をすべて kill してから、/etc/init.d/php-pfm を再起動します。/usr/local/nginx/sbin/nginx -s stop nginx を停止し、次に、/usr/local/nginx/sbin/php を実行して再起動します。

7) phpinfo();という内容のphpファイルをhtmlディレクトリに作成し、ブラウザでファイルアドレスにアクセスして正しいphp関連情報が取得できるか確認します。正しく表示されていれば設定は成功です。 。

7: Apache と協力して php をサポートします。これは後で追加され、継続されます...

関連する推奨事項:

Linux インストール php エラー記録

Linux インストール php モジュール --with-mysql - -with- mysqliはmysqlをインストールする必要がありますか?

phpとmemcacheのlinuxインストール過程記録

以上がLinux に php をインストールする最も詳細なプロセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。