#author("2018-11-11T23:53:39+09:00","default:wikiwriter","wikiwriter")
#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.

    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 php5 mod_php56.so
}}

**httpd.confの基本設定 [#d8395f6e]
-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を作成して開く
 $ 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/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]
**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

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