MacOS 10.9の環境があったのでそちらもセッティングしようとしたら、また大ハマリしました。。。
これは正直OSをアップデートしたほうが良かったかも....
httpd24でphp5_moduleが読み込めない?
homebrewでhttpd24とphp54をインストールしてhttpd.conf
とphp.ini
を編集してさてapacheを起動しようと思ってhttpd.conf
のシンタックスを確認した所次のようなエラーが出ました。
$ apachectl -t httpd: Syntax error on line 170 of /usr/local/etc/apache2/2.4/httpd.conf: Cannot load /usr/local/opt/php54/libexec/apache2/libphp5.so into server: dlopen(/usr/local/opt/php54/libexec/apache2/libphp5.so, 10): Symbol not found: _unixd_config\n Referenced from: /usr/local/opt/php54/libexec/apache2/libphp5.so\n Expected in: /usr/local/Cellar/httpd24/2.4.12/bin/httpd\n in /usr/local/opt/php54/libexec/apache2/libphp5.so
確かに/usr/local/opt/php54/libexec/apache2/libphp5.so
は存在しているのですが読み込めないっぽいエラーです。
/usr/local/opt/php54
がシンボリックリンクだったので/usr/local/Cellar/php54/~
に変更してみても同じエラーになってしまいました。
色々と調べたのて下の様なものにもたどり着いたのですが
解決せず!!!!
こちらのブログに有るようにhttpd22
を入れなおすことにしました。
$ brew uninstall httpd24
$ brew install httpd22
httpd22のhttpd.conf
を編集しなおして、再度チェック。
$ apachectl -t
Syntax OK
今度はエラーになりませんでした!
されどapacheは起動せず。
httpd.conf
のエラーがなかったので、apacheを起動します。
$ sudo apachectl start /usr/local/bin/apachectl: line 78: 43078 Segmentation fault: 11 $HTTPD -k $ARGV
(´・ω・`) えっ....
Segmentation fault
セグメンテーション違反(英語:segmentation fault)はソフトウェアの実行時に起きる特定のエラー条件である。segfault(セグフォールト)と略される場合がある。 セグメンテーション違反はアクセスが許可されていないメモリ上の位置、もしくは許可されていない方法(例えばリードオンリーの位置へ書き込みをしようとする、もしくはオペレーションシステムの部分を上書きしようとする)でメモリ上の位置にアクセスしようとするときに起こる。
apache
Segmentation fault
で検索すると色々出てきました。
- [PHP] PHP5.4 + Apache 2.4でSegmentation fault — digape.com
- えんじにあのTipsめも: apacheがSegmentation faultする
- apache 2.2 - PHP segmentation fault when using more than 128M - Server Fault
ちょっちウチにはハードル高いです...
こ、これは... 万策尽きた―!
と思った時に次のような記事を見つけました。
Mac OS Version: 10.9.5
Installation apache2.2: brew install -v httpd22 --with-brewed-openssl
Installation of PHP:brew install -v php54 --homebrew-apxs --with-apache
これなら出来そうなのでダメ元で試してみます。
まずは、既に入っているhttpd22
とphp54
を削除してから記事を参考にオプションを付けてインストールします。
$ brew uninstall httpd22 $ brew uninstall php54 $ brew install -v httpd22 --with-brewed-openssl $ brew install -v php54 --homebrew-apxs --with-apache
インストールが完了したら再度apacheの起動にtryです。
$ sudo apachectl start
Segmentation fault
になる事なくapache
が起動できたようです!!
まだlocalhostがInternal Server Errorになる...
今の所解決できてなし...
疲れきってしまったので、一旦辞め。
もうapacheとかphpの環境設定したくない。。。
サーバサイドJavaScript Node.js入門 (アスキー書籍)
- 作者: 清水俊博,大津繁樹,小林秀和,佐々木庸平,篠崎祐輔,高木敦也,西山雄也,Jxck
- 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
- 発売日: 2014/02/27
- メディア: Kindle版
- この商品を含むブログを見る