#author("2019-07-16T07:58:21+00:00","default:wikiwriter","wikiwriter")
#author("2020-06-30T07:19:56+00:00","default:wikiwriter","wikiwriter")
&tag(MacPorts/php7);
*目次 [#lfdfa383]
#contents
*関連ページ [#s19c1cae]
-[[../php5]]
*参考情報 [#sab2eba0]

*インストール&apache2に設定 [#d788cf07]

**以前のバージョンのアンインストール [#we184819]
-既存のphpバージョンをアンインストールしておく
 sudo port uninstall php71*

**必要なportのインストール [#le8f61dd]
-apache2用から使用するモジュール、mysql、mbstringモジュールをインストール。
 $ sudo port install php72-apache2handler php72-mysql php72-mbstring php72-gd
-mbstringやgdの設定ファイルは以下の場所に追加され自動的に有効になるようだ。あとから追加した場合apacheの再起動が必要。
#pre{{
/opt/local/var/db/php72/gd.ini, /opt/local/var/db/php72/mbstring.ini, /opt/local/var/db/php72/mysql.ini
}}
-以下のような情報が表示される。
#pre{{
  php72 has the following notes:
    To customize php72, copy /opt/local/etc/php72/php.ini-development (if this is a development server) or
    /opt/local/etc/php72/php.ini-production (if this is a production server) to /opt/local/etc/php72/php.ini and then make changes.
  php72-apache2handler has the following notes:
    If this is your first install, you need to enable php72-apache2handler in your web server.
    To enable php72-apache2handler, run:

        cd /opt/local/lib/apache2/modules
        sudo /opt/local/bin/apxs -a -e -n php7 mod_php72.so
  php72-mysql has the following notes:
    To use mysqlnd with a local MySQL server, edit /opt/local/etc/php72/php.ini and set mysql.default_socket, mysqli.default_socket
    and pdo_mysql.default_socket to the path to your MySQL server's socket file.

    For mysql5, use /opt/local/var/run/mysql5/mysqld.sock
    For mysql51, use /opt/local/var/run/mysql51/mysqld.sock
    For mysql55, use /opt/local/var/run/mysql55/mysqld.sock
    For mysql56, use /opt/local/var/run/mysql56/mysqld.sock
    For mariadb, use /opt/local/var/run/mariadb/mysqld.sock
    For percona, use /opt/local/var/run/percona/mysqld.sock
}}
-とりあえずapache2のモジュールを組み込む。
#pre{{
 cd /opt/local/lib/apache2/modules
 sudo /opt/local/bin/apxs -a -e -n php7 mod_php72.so
}}


**httpd.confの基本設定 [#vf0e4351]
-httpd.confの編集
--httpd.confを開く
#pre{{
 $ cd /opt/local/etc/apache2
 $ vi httpd.conf
}}
--dir_moduleの変更
#pre{{
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
}}
--mime_moduleの最後に追加
#pre{{
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
}}
-php.iniの作成
--php.iniを作成して開く
#pre{{
$ cd /opt/local/etc/php72
$ sudo cp php.ini-development php.ini
$ sudo vi php.ini
}}
--文字コードをUTF-8で統一する。dokuwikiを使用する場合、func_overload = 0じゃないとだめ。
--encoding_translationがOnだとPukiWikiの日本語ページに添付できない。そもそもこの設定はデフォルトオフが良い?[[mbstring.encoding_translation 邪魔なだけ、と思うのは私だけなのか? – ぼらこみゅ:https://pe-co.com/2013/08/13/mbstring-encoding_translation%E3%80%80%E9%82%AA%E9%AD%94%E3%81%AA%E3%81%A0%E3%81%91%E3%80%81%E3%81%A8%E6%80%9D%E3%81%86%E3%81%AE%E3%81%AF%E7%A7%81%E3%81%A0%E3%81%91%E3%81%AA%E3%81%AE%E3%81%8B%EF%BC%9F/]]
#pre{{
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none
mbstring.func_overload = 0
}}
--タイムゾーンも設定しておく。
#pre{{
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Tokyo"
}}
-再起動
 $ sudo /opt/local/sbin/apachectl restart


**MySQLとの接続設定 [#e5784a5b]
-/opt/local/etc/php72/php.iniを編集。mysql.default_socket、mysqli.default_socket and、pdo_mysql.default_socketに次の値を設定(mysql.default_socketは存在しないかも?)
-mysql5.5を接続する場合。
 /opt/local/var/run/mysql55/mysqld.sock


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS