#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/設定]]を参照のこと。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS