#author("2019-07-16T07:58:21+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 -以下のような情報が表示される。 #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