php install
イシュー
- php をインストールする
参考
- PHPBrew で PHP の複数バージョン管理を行う - yuukiar.co
- Macでphpenv + php-buildによる環境構築した際にハマった時のメモ(OpenSSLとか) - Qiita
brew install composer すると入るコンポーネント
MagsBook:~ magnet$ ls -trl /usr/local/Cellar/ total 0 drwxr-xr-x 3 magnet admin 102 10 30 00:42 nodebrew drwxr-xr-x 3 magnet admin 102 11 1 00:24 libpng drwxr-xr-x 3 magnet admin 102 11 1 00:24 gettext drwxr-xr-x 3 magnet admin 102 11 1 00:24 freetype drwxr-xr-x 3 magnet admin 102 11 1 00:24 icu4c drwxr-xr-x 3 magnet admin 102 11 1 00:24 jpeg drwxr-xr-x 3 magnet admin 102 11 1 00:24 unixodbc drwxr-xr-x 3 magnet admin 102 11 1 00:24 libxml2 drwxr-xr-x 3 magnet admin 102 11 1 00:24 readline drwxr-xr-x 3 magnet admin 102 11 1 00:24 openssl drwxr-xr-x 3 magnet admin 102 11 1 00:31 php56 drwxr-xr-x 3 magnet admin 102 11 1 00:32 composer MagsBook:~ magnet$
brew install phpbrew すると入るコンポーネント
drwxr-xr-x 3 magnet admin 102 11 1 01:22 curl drwxr-xr-x 3 magnet admin 102 11 1 01:22 libevent drwxr-xr-x 3 magnet admin 102 11 1 01:22 gmp drwxr-xr-x 3 magnet admin 102 11 1 01:22 pcre drwxr-xr-x 3 magnet admin 102 11 1 01:22 mhash drwxr-xr-x 3 magnet admin 102 11 1 01:22 mcrypt drwxr-xr-x 3 magnet admin 102 11 1 01:22 re2c drwxr-xr-x 3 magnet admin 102 11 1 01:22 phpbrew
注: phpbrew で phpをインストールしようとするとエラー
MagsBook:~ magnet$ phpbrew install 5.6.27 ===> phpbrew will now build 5.6.27 You haven't set any variant. A default set of extensions will be installed for the minimum requirement: [bcmath, bz2, calendar, cli, ctype, dom, fileinfo, filter, ipc, json, mbregex, mbstring, mhash, pcntl, pcre, pdo, phar, posix, readline, sockets, tokenizer, xml, curl, zip, openssl, opcache] Please run 'phpbrew variants' for more information. ===> Loading and resolving variants... Checking distribution checksum... Checksum matched: b5a66d238c27cfdc6cdf5e83062e50d9 ===> Distribution file was successfully extracted, skipping... ===> Checking patches... Checking patch for replace apache php module name with custom version name Found existing build.log, renaming it to /Users/magnet/.phpbrew/build/php-5.6.27/build.log.1477923846 ===> Configuring 5.6.27... Use tail command to see what's going on: $ tail -F /Users/magnet/.phpbrew/build/php-5.6.27/build.log Error: Configure failed: The last 5 lines in the log file: checking for DSA_get_default_method in -lssl... no checking for X509_free in -lcrypto... yes checking for RAND_egd... no checking for pkg-config... no configure: error: Cannot find OpenSSL's <evp.h> Please checkout the build log file for more details: tail /Users/magnet/.phpbrew/build/php-5.6.27/build.log MagsBook:~ magnet$
troubleshoot
- Cannot find OpenSSL's <evp.h> · Issue #612 · phpbrew/phpbrew · GitHub
- phpbrew memo - Qiita
- PHPBrew JA 日語指引 · phpbrew/phpbrew Wiki · GitHub
default バリアントをつけることで成功する
MagsBook:~ magnet$ phpbrew install php-5.6.27 +default ===> phpbrew will now build 5.6.27 ===> Loading and resolving variants... Downloading http://www.php.net/get/php-5.6.27.tar.bz2/from/this/mirror via curl extension Redirecting to http://jp2.php.net/distributions/php-5.6.27.tar.bz2 [==================================================================] 14.28/14.28MB 100% ===> Extracting /Users/magnet/.phpbrew/distfiles/php-5.6.27.tar.bz2 to /Users/magnet/.phpbrew/build/tmp.1478009570/php-5.6.27 ===> Moving /Users/magnet/.phpbrew/build/tmp.1478009570/php-5.6.27 to /Users/magnet/.phpbrew/build/php-5.6.27 ===> Checking patches... Checking patch for replace apache php module name with custom version name ===> Configuring 5.6.27... Use tail command to see what's going on: $ tail -F /Users/magnet/.phpbrew/build/php-5.6.27/build.log ===> Checking patches... Checking patch for php5.3.29 multi-sapi patch. Checking patch for php5.3.x on 64bit machine when intl is enabled. Checking patch for openssl dso linking patch 3 changes patched. ===> Building... Build finished: 7.9 minutes. Installing... ---> Creating php-fpm.conf ---> Creating php.ini ---> Copying /Users/magnet/.phpbrew/build/php-5.6.27/php.ini-development ---> Found date.timezone is not set, patching... ---> Found date.timezone, patching config timezone with Asia/Tokyo Congratulations! Now you have PHP with 5.6.27 as php-5.6.27 * To configure your installed PHP further, you can edit the config file at /Users/magnet/.phpbrew/php/php-5.6.27/etc/php.ini * WARNING: You haven't setup your .bashrc file to load phpbrew shell script yet! Please run 'phpbrew init' to see the steps! To use the newly built PHP, try the line(s) below: $ phpbrew use php-5.6.27 Or you can use switch command to switch your default php to php-5.6.27: $ phpbrew switch php-5.6.27 Enjoy! MagsBook:~ magnet$
MagsBook:Temp magnet$ phpbrew use php-5.6.27 You should not see this, if you see this, it means you didn't load the ~/.phpbrew/bashrc script, please check if bashrc is sourced in your shell. MagsBook:Temp magnet$
troubleshoot
- osx - How to fix Terminal not loading ~/.bashrc on OS X Lion - Stack Overflow
- osx - Mac OS X .bashrc not working - Super User
OSX では.bashrc ではなく、.bash_profileに記述すると動く
.[bash_]profile and .bashrc can be used on both OS X and Linux. The former is loaded when the shell is a login shell; the latter when it is not. The real difference is that Linux runs a login shell when the user logs into a graphical session, and then, when you open a terminal application, those shells are non-login shells; whereas OS X does not run a shell upon graphical login, and when you run a shell from Terminal.app, that is a login shell. [ -r ~/.bashrc ] && source ~/.bashrc
.[bash_]profile と .bashrcは、OS XとLinuxの両方で使用することができます。
シェルがログインシェルである場合に前者がロードされます。後者はそうではない場合にロードされます。
本当の違いは、Linuxを使用すると、ターミナルアプリケーションを開いたときに、ユーザのグラフィカルセッションにログイン、および、それらのシェルは非ログインシェルであるログインシェルを実行するということです。
一方、OS Xは、グラフィカルログイン時にシェルを実行していない、とあなたはTerminal.appからシェルを実行すると、それがログインシェルです。
あなたのエイリアスが両方のログインと非ログインシェルで仕事をしたい(とあなたが通常行う)場合は、このような行で、あなたの.bash_profileにbashrcに、ソースの.bashrcに入れてください。
[ -r ~/.bashrc ] && source ~/.bashrc