PHP(6)PHP (fpm および NGINX
を使用) PHP(6)PHP (fpm および NGINX
1) を使用。 Nginx で最新の PHP をセットアップします
ライブラリを構築するための libtool で問題が発生した場合。
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
を使用する必要があります。nginx をインストールし、そこに pcre インストール パッケージを配置します。必要になる場合があります。
factCGI を使用して PHP をインストールし、nginx を操作します
http://sillycat.iteye.com/blog/2078154
http://sillycat.iteye.com/blog/2149513
PHP-FPM VS FastCGI
mod_php、これは Apache の組み込みモジュールです。 Apache HTTP サーバーは PHP をサポートできます。
FastCGI、PHP と HTTP サーバー間のインターフェイス。 mod_fastcgi は、Apache サポート FastCGI プロトコルのモジュールです。 PHP と Web サーバーを分離できます。
PHP-FPM は、span-cgi と同様に強力で、リモート FastCGI をサポートします。 (FastCGI Process Manager)
最新パッケージをダウンロード
> wget http://ar2.php.net/distributions/php-5.6.10.tar.gz
それを解凍し、必要なツールを準備します。
>> ./configure --prefix=/home/carl/tool/php-5.6.10 --with-openssl --with-iconv-dir=/usr/lib --with-curl=/opt/local/include/curl --with-mysql --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-カレンダー --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib -- Enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with- fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl - -with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm
エラー メッセージ:
configure: error: OpenSSL のライブラリが見つかりません
解決策:
http://mac-dev-env.patrickbougie.com/openssl/
> wget http://www.openssl.org/source/openssl-1.0.2c.tar.gz
解凍してインストールしてみてください
>。 ./configure darwin64-x86_64-cc --prefix=/Users/carl/tool/openssl-1.0.2c
作成してインストールします
> ./configure --prefix=/Users/carl/tool/php-5.6.10 --with-openssl --with-iconv-dir=/usr/lib --with-curl=/opt/local/include/curl --with-mysql --enable-fpm --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar - -with-mysqli
それを作成してインストールすると、php がパスに追加します。
>> php --version
PHP 5.6.10 (cli) (ビルド: Jun 29 2015 17:35:04)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright ( c) 1998-2015 Zend Technologies
nginx を再起動するコマンド
>。 sudo sbin/nginx -s reload
構成を確認します
> sudo sbin/php-fpm -t
php-fpm
> を再起動するコマンド。 sudo sbin/php-fpm
権限を確認してください
> sudo chown -R root:nobody /opt/nginx/html/
> sudo chmod g w /opt/nginx/htm
php-fpm の設定を変更します。設定ファイルは
/opt/php/etc/php-fpm.conf
pid = run/php-fpm.pid
error_log = log/php-fpm.log
ユーザー = 誰も
グループ = 誰も
;listen = 127.0.0.1:9000
listen = var/run /php5-fpm.sock
別の設定ファイル
/opt/php/etc/php.ini
エラー メッセージ:
sudo sbin/nginx
nginx: [ warn] 1024 の worker_connections がオープン ファイル リソースの制限を超えています: 256
解決策:
制限を確認してください
>。 ulimit -a
コア ファイル サイズ (ブロック、 -c) 0
データ セグメント サイズ (キロバイト、 -d) 無制限
ファイル サイズ (ブロック、 -f) 無制限
最大ロック メモリ (キロバイト、 -l) 無制限
最大メモリ サイズ (kバイト、-m) 無制限
オープン ファイル (-n) 256
パイプ サイズ (512 バイト、-p) 1
スタック サイズ (kバイト、-s ) 8192
CPU 時間 (秒、-t) 無制限
最大ユーザープロセス (-u) 709
仮想メモリ (kbytes, -v) 無制限
制限を変更する
> ulimit -n 1024
次に、php-fpm
>sudo sbin/php-fpm
が実行されていることを確認します
>>。 ps -ef | grep fpm
0 98821 1 0 火午前11時 ?? 0:01.34 sbin/php-fpm
-2 98822 98821 0 火曜日午前 11 時 ?? 0:00.00 sbin/php-fpm
-2 98823 98821 0 火曜日午前 11 時 ?? 0:00.00 sbin/php-fpm
501 2991 5692 0 2:37PM ttys006 0:00.01 grep fpm
NGINX の構成、構成ファイルは /opt/nginx/conf/nginx.conf
location ~ .php$ {
#root html;
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
# with php5-fpm
fastcgi_keep_conn on;
try_files $uri =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_split_path_info ^(. .php)(.*)$;
fastcgi_hide_header X-Powered-By;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/opt/php/var/run/ php5-fpm.sock;
}
非常にシンプルな hello world ページを配置します /opt/nginx/html/info.php
> cat info.php
phpinfo();
?>
URL
http://localhost/info.php
でそのページにアクセスします
2. PHP 知識を思い出してください
todo...
3. MySQLi
todo...
参考文献:
http://sillycat.iteye.com/blog/2194084
http://sillycat.iteye.com/blog/2066063
http://sillycat.iteye.com/blog/1543227
http://sillycat.iteye.com/blog/769110
http://sillycat.iteye.com/blog/2149513
http ://sillycat.iteye.com/blog/2078154
fastcgi を使用して PHP をビルドする
https://www.howtoforge.com/how-to-build-php-5.6-fpm-fastcgi-with -zend-opcache-and-apcu-for-ispconfig-3-on-debian-7-wheezy
https://www.howtoforge.com/installing-nginx-with-php5-and-php-fpm-and -mysql-support-lemp-on-debian-wheezy
https://www.zybuluo.com/phper/note/50231
https://www.zybuluo.com/phper/note/50231
PHP-FPM
http://php-fpm.org/