#author("2020-03-03T01:45:20+00:00","default:wikiwriter","wikiwriter") #author("2020-07-15T05:38:40+00:00","default:wikiwriter","wikiwriter") &tag(Debian/PHP); *目次 [#f8f2db0e] #contents *関連ページ [#s60db684] *参考情報 [#scffa0f7] -[[Debian 8 Jessie LAMP server tutorial with Apache 2, PHP 5 and MariaDB (instead of MySQL):https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-lamp-on-debian-jessie/]] -[[mk-mode BLOG:http://komasaru.github.io/]] *モジュール版をインストールしてApacheで使う [#c5f14083] **インストール [#j386061d] -以下のコマンドでインストール。apache2のモジュールは自動的に有効となる。 php-mbstringはDebianの場合個別パッケージではない?[[msg: No package matching 'php5-mbstring' is available · Issue #176 · phansible/phansible:https://github.com/phansible/phansible/issues/176]] apt-get install php5 libapache2-mod-php5 php5-mysql php5-gd -ドキュメントルートにinfo.phpを作成。 #pre{{ <?php phpinfo(); ?> }} **日本語設定 [#be05025a] -apache2モジュール用のphp設定は/etc/php5/apache2/php.iniを編集する -mbstring設定を変更。 #pre{{ mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none mbstring.func_overload = 1 }} *nginxで使う(PHP 7.4版) [#z46a49a7] **Debian 8でPHP 7.4を使用する準備(2020/03/02(月)) [#rdf2dd3f] -まずphp5関連をアンインストールする # apt-get remove php5 php5-common -次のリンクに従い作業する。[[How To Install PHP (7.2, 7.1 & 5.6) on Debian 8 - TecAdmin:https://tecadmin.net/install-php7-on-debian/]]。PPAはPHPのパッケージメンテナが提供しているリポジトリらしく信頼性は高い? #pre{{ # apt install ca-certificates apt-transport-https # wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add - # echo "deb https://packages.sury.org/php/ jessie main" | tee /etc/apt/sources.list.d/php.list }} **PHP 7.4のインストール [#k12cf586] -以下のコマンドでインストール。 #pre{{ # apt install php7.4 # apt install php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-xml php7.4-fpm # apt-get remove apache2 }} -自動起動設定 #pre{{ systemctl start php7.4-fpm systemctl enable php7.4-fpm }} **php-fpmの設定 [#o680b820] -/etc/php/7.4/fpm/php.iniを編集する。 #pre{{ [PHP] memory_limit = 512M [Date] date.timezone ="Asia/Tokyo" [mbstring] mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none mbstring.func_overload = 1 }} -/etc/php/7.4/fpm/pool.d/www.confを編集。以下をwww-dataからnginxに。 #pre{{ user group listen.owner listen.group }} -その他は[[Nginx/設定]]を参照のこと。 *nginxで使う(PHP 5版) [#xf95a4ae] **インストール [#zaabfada] -以下のコマンドでインストール apt-get install php5 php5-fpm php5-mysql php5-gd -自動起動 systemctl start php5-fpm systemctl enable php5-fpm **日本語設定 [#be05025a] -apache2モジュール用のphp.iniとは設定ファイルがことなる。/etc/php5/fpm/php.iniを編集する。 -mbstring設定を変更。 #pre{{ mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none mbstring.func_overload = 1 }} *トラブルシューティング [#p268f3bf] **sury.orgのPHP 7が使えなくなった [#eba290fd] -2020年6月30日にDebian Jessie LTSのサポート期間が終了し(LTSでも5年しかサポートされない)、それに対応してsury.orgで公開されていたパッケージも削除された。 -以下のエラーが発生。 #pre{{ W: Failed to fetch https://packages.sury.org/php/dists/jessie/main/binary-amd64/Packages HttpError404 }} -とりあえず/etc/apt/sources.list.d/php.listの中身をコメントアウトしたらエラーはでなくなったが…。 **その他の設定 [#l843c9f5] -[[Nginx/設定]]を参照のこと。