PHP のインストールと動作確認
Nid: 734
- PHPのインストール
$ sudo apt-get install php php7.0-zip php7.0-curl php-gd php-xml php-mbstring php-mysql $ php -v PHP 7.0.8-0ubuntu0.16.04.1 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.8-0ubuntu0.16.04.1, Copyright (c) 1999-2016, by Zend Technologies
PECL uploadprogress をインストールする場合、
$ sudo add-apt-repository ppa:ondrej/php $ sudo apt-get update $ sudo apt-get install php-uploadprogress
- 設定ファイル
$ php --ini Configuration File (php.ini) Path: /etc/php/7.0/cli Loaded Configuration File: /etc/php/7.0/cli/php.ini Scan for additional .ini files in: /etc/php/7.0/cli/conf.d Additional .ini files parsed: /etc/php/7.0/cli/conf.d/10-mysqlnd.ini, /etc/php/7.0/cli/conf.d/10-opcache.ini, /etc/php/7.0/cli/conf.d/10-pdo.ini, /etc/php/7.0/cli/conf.d/15-xml.ini, /etc/php/7.0/cli/conf.d/20-calendar.ini, /etc/php/7.0/cli/conf.d/20-ctype.ini, /etc/php/7.0/cli/conf.d/20-curl.ini, /etc/php/7.0/cli/conf.d/20-dom.ini, /etc/php/7.0/cli/conf.d/20-exif.ini, /etc/php/7.0/cli/conf.d/20-fileinfo.ini, /etc/php/7.0/cli/conf.d/20-ftp.ini, /etc/php/7.0/cli/conf.d/20-gd.ini, /etc/php/7.0/cli/conf.d/20-gettext.ini, /etc/php/7.0/cli/conf.d/20-iconv.ini, /etc/php/7.0/cli/conf.d/20-igbinary.ini, /etc/php/7.0/cli/conf.d/20-json.ini, /etc/php/7.0/cli/conf.d/20-mbstring.ini, /etc/php/7.0/cli/conf.d/20-mysqli.ini, /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.0/cli/conf.d/20-pdo_sqlite.ini, /etc/php/7.0/cli/conf.d/20-phar.ini, /etc/php/7.0/cli/conf.d/20-posix.ini, /etc/php/7.0/cli/conf.d/20-readline.ini, /etc/php/7.0/cli/conf.d/20-redis.ini, /etc/php/7.0/cli/conf.d/20-shmop.ini, /etc/php/7.0/cli/conf.d/20-simplexml.ini, /etc/php/7.0/cli/conf.d/20-sockets.ini, /etc/php/7.0/cli/conf.d/20-sqlite3.ini, /etc/php/7.0/cli/conf.d/20-sysvmsg.ini, /etc/php/7.0/cli/conf.d/20-sysvsem.ini, /etc/php/7.0/cli/conf.d/20-sysvshm.ini, /etc/php/7.0/cli/conf.d/20-tokenizer.ini, /etc/php/7.0/cli/conf.d/20-wddx.ini, /etc/php/7.0/cli/conf.d/20-xmlreader.ini, /etc/php/7.0/cli/conf.d/20-xmlwriter.ini, /etc/php/7.0/cli/conf.d/20-xsl.ini, /etc/php/7.0/cli/conf.d/20-zip.ini
- パラメータ設定
$ sudo vim /etc/php/7.0/fpm/php.ini max_execution_time = 360 max_input_vars = 2000 post_max_size = 512M memory_limit = 1024M
- PHP を再起動して設定反映
$ sudo systemctl restart php7.0-fpm.service
- 動作確認用のファイル作成
$ sudo tee /var/www/html/info.php <<EOF <?php phpinfo(); ?> EOF
以下コメントイン。ネットワークオーバーヘッドを減らすため、TCP ではなく Unix sockets を使用。
$ sudo vi /etc/nginx/sites-available/default location ~ \.php$ { include snippets/fastcgi-php.conf; # With php7.0-fpm: fastcgi_pass unix:/run/php/php7.0-fpm.sock; }
最低限のNginx設定
$ cat /etc/nginx/sites-available/default server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } }
nginx のユーザ変更。
$ sudo vim /etc/nginx/nginx.conf #user nginx; user www-data;
$ sudo nginx -t && sudo nginx -s reload
確認。
$ lynx --dump http://localhost/info.php | grep -i 'server.*fpm' Server API FPM/FastCGI
動作確認用ファイル削除。
$ sudo rm /var/www/html/info.php