- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-11-22T17:29:13+09:00","default:wikiwriter","wikiwriter")
&tag(MacPorts/php5);
*目次 [#l3dd79e7]
#contents
*参考情報 [#p2c3da62]
-[[MacPorts]]
-[[MacPortsでApache2+PHP5: JavaFlavor Weblog:http://javaflavor.cocolog-nifty.com/blog/2007/07/macportsapache2_43a4.html]]
-[[Install Apache 2 and PHP 5 with MacPorts | 2 tablespoons:http://2tbsp.com/content/install_apache_2_and_php_5_macports]]
-[[Snow LeopardなMacBookにMacPortsで開発環境入れ直し(Apache2/PHP5/MySQL5/PostgreSQL8.3) [C!]:http://creazy.net/2010/01/install_macports_snow_leopard.html]]
*インストール&apache2に設定 [#qd207bcc]
**必要なportのインストール [#g717b74e]
-apache2用から使用するモジュール、mysql、mbstringモジュールをインストール。
$ sudo port install php56-apache2handler php56-mysql php56-mbstring
-以下のような情報が表示される。
--php56
#pre{{
To customize php56, copy /opt/local/etc/php56/php.ini-development (if this is a development server) or
/opt/local/etc/php56/php.ini-production (if this is a production server) to /opt/local/etc/php56/php.ini and then make changes.
}}
--php56-apache2handler
#pre{{
cd /opt/local/lib/apache2/modules
sudo /opt/local/bin/apxs -a -e -n php5 mod_php56.so
}}
--php56-mysql
#pre{{
To use mysqlnd with a local MySQL server, edit /opt/local/etc/php56/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.
-MacPortsのapache2用のインストール
$ sudo port install php5 +apache2 +pear
-ついでにマルチバイト関連もインストール
$ sudo port install php5-mbstring
-ついでにMySQLとの接続モジュールもインストール(MySQL5.5と接続する場合php.iniの変更が必要。Tipsにある)。
$ sudo port install php5-mysql
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/apache2/modules
$ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
cd /opt/local/lib/apache2/modules
sudo /opt/local/bin/apxs -a -e -n php5 mod_php56.so
}}
**httpd.confの基本設定 [#d8395f6e]
-httpd.confの編集
--httpd.confを開く
#pre{{
$ cd /opt/local/apache2/conf
$ 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を作成して開く
$ cd /opt/local/etc/php5
$ cd /opt/local/etc/php56
$ sudo cp php.ini-development php.ini
$ sudo vi php.ini
--文字コードをUTF-8で統一する([[MacOSXにPHP5,MySQL5をインストール:http://fujisan.sunnyday.jp/mac/macosx-php5.html]])
#pre{{
[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
}}
--タイムゾーンも設定しておいたほうがよいかも。
#pre{{
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Tokyo"
}}
※dokuwikiを使用する場合、func_overload = 0じゃないとだめ。
-再起動
$ sudo /opt/local/apache2/bin/apachectrl restart
$ sudo /opt/local/sbin/apachectl restart
**MySQLとの接続設定 [#h27a0f21]
-/opt/local/etc/php5/php.iniを編集。mysql.default_socket、mysqli.default_socket and、pdo_mysql.default_socketに次の値を設定。
/opt/local/var/run/mysql5/mysqld.sock
-mysql5.5と接続する場合
/opt/local/var/run/mysql55/mysqld.sock
* pear [#o5d8f8d6]
**phpunitのインストール [#ybc7959f]
-チャンネル追加
$ sudo pear channel-discover pear.phpunit.de
$ sudo pear channel-discover pear.symfony-project.com
$ sudo pear channel-discover pear.symfony.com
-インストール
$ sudo pear install --alldeps phpunit/PHPUnit
*IntelliJで使う [#f541523c]
-php5自体は先程の設定でインストール。
-さらにphp5-xdebugをインストール。
sudo port install php5-xdebug
-PHPUnitはpearでインストール
sudo pear install phpunit
*再インストール [#d9aeb3cb]
-別のオプションをつけてインストールし直したい場合cleanしてからinstallする
#pre{{
$ sudo port clean php5
$ sudo port install php5 +apache2 +pear
}}
*動作確認 [#g9161404]
-DocumentRootにinfo.phpを作成
#pre{{
cd /opt/local/apache2/htdocs/
vi info.php
}}
-phpの情報を表示する。
#pre{{
<?php
phpinfo();
?>
}}
-http://localhost/info.phpにアクセス。
*Tips [#mb712daf]
**MySQLと接続する [#h27a0f21]
-php5-mysqlをインストール
sudo port install php5-mysql
-/opt/local/etc/php5/php.iniを編集。mysql.default_socket、mysqli.default_socket and、pdo_mysql.default_socketに次の値を設定。
/opt/local/var/run/mysql5/mysqld.sock
-mysql5.5と接続する場合
/opt/local/var/run/mysql55/mysqld.sock
**xdebugを使用する [#eaeae4f8]
-エラーや警告を分かりやすく表示するxdebugを使う。
sudo port install php5-xdebug
*トラブルシューティング [#x1f03a9c]
**文字化けする [#meae9d26]
ブラウザのデフォルトエンコーディングとあってない場合UTF-8でそのまま出力すると文字化けするかも。ブラウザによってはでるかもしれないけど、基本的にはcharsetを指定しないとだめ。
#pre{{
<?php header("Content-Type: text/html; charset=UTF-8"); ?>
}}
**Call to undefined function mb_convert_kana() [#ebcb75f8]
-php53-mbstringがインストールされていないか、php.iniで有効になっていない。
**WordPressでプラグインインストール時に「要求されたリクエストを完了できる HTTP トランスポートがありません」 [#q9d85450]
-以下でインストール
sudo port install php53-openssl php53-curl
-php.iniで有効化
#pre{{
extension=php_curl.dll
extension=php_openssl.dll
}}
*古い情報 [#k8577cb4]
**php53時代のインストール [#ha97bf7b]
-MacPortsのapache2用のインストール
$ sudo port install php53 +apache2 +pear
$ sudo port select php php53