SierraにHomebrewでMySQL, Apache,PHPをインストール

Homebrew自体の準備

brew update
brew doctor

MySQL

brew install mysql
mysql_secure_installation
mysql.server start
//loginで開始するように設定
brew services start mysql

Apache

brew tap homebrew/dupes
brew tap homebrew/apache
//デフォルト8080で動作
brew install httpd24
//loginで開始するように設定
brew services start homebrew/apache/httpd24

PHP

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
//既存のPHPがあれば
brew unlink php55
//httpd.confに php7_module の行を追加
brew install php71 --with-httpd24

Apacheの設定
/usr/local/etc/apache2/2.4/httpd.conf

//設定済のはず
LoadModule php7_module /usr/local/opt/php71/libexec/apache2/libphp7.so
//修正する
ServerName localhost:8080
//index.phpを書き加える
DirectoryIndex index.php index.html
//コメント解除
Include /usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf
LoadModule rewrite_module libexec/mod_rewrite.so
//末尾に追加
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>

vhostの設定
/usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf

<VirtualHost *:8080>
    ServerName localhost
    DocumentRoot "/usr/local/var/www/htdocs"
    <Directory "/usr/local/var/www/htdocs">
        AllowOverride All
        Require all granted
    </Directory>
    CustomLog "/usr/local/var/log/apache2/localhost.access.log" common 
    ErrorLog "/usr/local/var/log/apache2/localhost.error.log"
</VirtualHost>
 
<VirtualHost *:8080>
    ServerName SSS.dev
    DocumentRoot "XXX/public"
    <Directory "XXX/public">
        AllowOverride All
        Require all granted
    </Directory>
    CustomLog "/usr/local/var/log/apache2/SSS.dev.access.log" common 
    ErrorLog "/usr/local/var/log/apache2/SSS.dev.error.log"
</VirtualHost>

PHPの設定
/usr/local/etc/php/7.1/php.ini

date.timezone = Asia/Tokyo
default_charset = "UTF-8"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII

その他、PHP開発用

brew install php71-xdebug

Install Mcrypt on Yosemite

brew で mcrypt を入れてみたがうまくいかない。phpinfoにmcryptが現れない。

brew install autoconf
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
brew install mcrypt php55-mcrypt

そこで、ここを参照して、リコンパイルしてmcrypt.soを得て配置
合わせてphp.iniを編集

extension=mcrypt.so

Install Apache & PHP on Yosemite

  • Yosemite 10.10.3

/etc は /private/etc にシンボリックリンクしているので、以下の記述で/private/etc とある部分は、/etc に読み替えても同じ

  1. Apache自体はYosemiteに付属しているので、バージョンに不満がなければ、これを用いる。
  2. /private/etc/apache2/httpd.cnfを編集
    • LoadModule php5_module libexec/apache2/libphp5.so のコメントを外す
    • LoadModule rewrite_module libexec/apache2/mod_rewrite.so のコメントを外す
    • DocumentRoot “/Users/ユーザー名/www”
      <Directory “/Users/ユーザー名/www”>
      AllowOverride All
      Options FollowSymLinks Multiviews Indexes
  3. /private/etc/php.ini.defaultを php.iniにコピーして編集
    • sudo cp php.ini.default php.ini
    • error_reporting = E_ALL
    • display_errors = On
    • date.timezone = “Asia/Tokyo”
    • mbstring.language = Japanese
    • mbstring.internal_encoding = UTF-8
    • mbstring.http_input = UTF-8
    • mbstring.detect_order = auto
  4. 以下をphp.iniに追加
    • zend_extension = “xdebug.so”
    • [xdebug]
    • xdebug.var_display_max_children = 999
    • xdebug.var_display_max_data = 999
    • xdebug.var_display_max_depth = 100
  5. 起動は、ターミナルから sudo apachectl start
  6. 設定のチェックは、sudo apachectl configtest
  7. 設定を変えてからの再起動は、ターミナルから sudo apachectl restart

Mountain Lion PHP関連の設定

PHPは最初からインストール済のものを使用(5.3.15)
httpd.confの書き換えで、起動まではできるはず。

  1. mysqlとのsocket修正
    XXXXXはmysqlにログインし、status と入力して確認
    php.iniの修正(/etc/php.ini.default を /etc/php.ini にコピーして使用する)
    mysql.default_socket = XXXXXX
  2. mcryptの追加
    sudo port install php5-mcrypt
    しばらく待つと/opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so ができる
    これを/usr/lib/php/extensions/no-debug-non-zts-20090626/にコピーする
    php.iniの修正
    extension=mcrypt.so
  3. xdebugの追加
    php.iniの修正(コメントを外す)
    zend_extension=”/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so”
  4. composerの追加
    php.iniの修正(末尾)
    detect_unicode = Off
    その後に
    curl -s http://getcomposer.org/installer | php
    composer.pharができるので
    mv composer.phar /usr/local/bin/composer

Mountain Lion で Apache起動

システム環境設定の「共有」パネルで「Web共有」をオンにすれば良かったのは過去の話で、現行のMountain Lionでは、ターミナルからそれなりの設定が必要になります。各種の設定ファイルの置き場も変わったようなので、過去の資料を見るときは注意。

  1. Apacheをひとまず起動する
    sudo apachectl start
  2. Apacheを再起動する
    sudo apachectl restart
  3. Apacheを停止する
    sudo apachectl stop
  4. Apacheを自動で起動にする
    sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
  5. Apacheの自動起動をやめる
    sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
  6. 設定ファイルの位置
    /etc/apache2/httpd.conf
  7. ドキュメントルートの変更(httpd.conf を変更)
    DocumentRoot “/Library/WebServer/Documents”
  8. phpの使用(httpd.conf を変更)
    LoadModule php5_module libexec/apache2/libphp5.so
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

Windows7でpearのインストール

最近のPHPは、go-pear.batが含まれないので、自前でインストールします。

  1. c:\php\pearフォルダを作る
  2. go-pear.pharを、c:\php\pearに置く
  3. c:\php\pearに移動し、php go-pear.phar を実行(pear.iniはc:\php下に置くように変更)
  4. PEAR_ENV.reg を実行

その後

  1. pear channel-update pear.php.net
  2. pear install –alldeps services_amazon-beta

開発環境の再編成

故あって、公式版でない64bitではまずいということになったので、32bit版で再編成する。
主要環境

手順

  1. ApacheはC:\Apache2に
  2. phpはC:\PHPに
  3. xdebugはC:\PHP\extに
  4. httpd.confの修正
  5. mime.typesの修正
  6. php.iniの修正
  7. Apacheサービスのインストール
    c:\Apache2\bin で httpd -k install
    このとき、アクセサリ>コマンドプロンプト で右クリックして「管理者として実行」して、コマンドプロンプトを開くこと