本文參考資料:
啟動apache時,解決
How to Fix AH00558 and AH00557 httpd apr_sockaddr_info_get() Error Message
http://linux.101hacks.com/unix/httpd-apr-sockaddr-info-get-error/
mac自帶的apache安裝目錄在 /etc 下,
mac使用homebrew安裝的apache在/usr/etc/apache2
使用homebrew安裝的php在 /usr/local/Cellar下的與php有關的文件夾,如:php70文件夾
mac自帶的php配置文件 在 /etc下面的 php.ini 或 php.ini.default
如果etc 下面的php.ini已經存在就不用再復制了,如果沒有,則需要把 php.ini.default 復制一份,並重命名為 php.ini
把php.ini里面所有的default_socket都改成/tmp的mysql.sock的正確位置即可
啟動apache的時候,如果命令行中如果報
AH00558 and AH00557 httpd apr_sockaddr_info_get() Error錯誤的話
找到apache中的配置文件 httpd.conf 在里面找到 ServerName 在下面加上一行 ServerName 127.0.0.1 這樣就可以解決此問題了。
下面分享一下mac安裝php環境的經驗(利用homebrew安裝):
安裝php的之前,要保持homebrew和xcode是最新版本,如果你的Xcode是8.2之前的版本的話,在你編譯PHP7.0+的時候會提示你“更新Xcode”版本
Apache2.4安裝:
先用brew 的 tap 命令創建 Apache的倉庫,然后再使用install安裝apache。如果要安裝的是Apache2.4,所以是brew install httpd24。如果要安裝Apache2.2,那么就是brew install httpd22。
命令示例:
brew tap homebrew/apache (可以沒有)
brew install httpd24
安裝完成后,可以使用 brew info httpd24 來查看所安裝的apache2.4的信息
然后apache啟動后,訪問一下localhost:8080(新版的apache默認端口是8080),如果界面出現 It works!說明apache安裝成功
Mysql安裝:
安裝 brew install mysql
安裝好后,可以使用 brew info mysql 來查看 mysql的信息
注:使用mac安裝 mysql.dmg的時候,要特別注意 安裝后會出現一個默認的密碼提示,這時候要好好閱讀,等安裝完成后,使用默認密碼連接,之后再輸入新密碼,以后就使用新密碼來連數據庫了
Php安裝:
查看php信息: brew info php70
在使用brew下載php的時候,務必要加上 --with-http24 ,否則下載的php不帶 php7lib.so 文件,無法與apache連接
在安裝php時,直接brew install php70 不出錯,但是加上httpd參數就會出錯了
在終端執行
xcode-select --install后,再reinstall就可以了
brew reinstall php70 --with-http24
配置Apache
找到httpd.conf,打開后
如果已經有下面這一行的話就不用加了
如果沒有,加上下面這一行,注意后面的路徑一定要能照着找到相應的文件
LoadModule php7_module /usr/local/opt/php70/libexec/apache2/libphp7.so
然后再配置項目目錄:
例如:這是我在根目錄下建的文件夾
DocumentRoot "/Users/pingguo/php"
<Directory "/Users/pingguo/php">
把 AllowOverride none 改為 AllowOverride all;啟用 LoadModule rewrite_module libexec/mod_rewrite.so否則 該環境不讀項目的路由
重啟apache后就可以測試了,,建一個文件,然后 輸出phpinfo()
這是如果發現你的php沒有被解析,出來的還是代碼,不要慌
在apache的httpd.conf 中在
LoadModule php7_module /usr/local/opt/php70/libexec/apache2/libphp7.so
下面加上
AddType application/x-httpd-php .php
DirectoryIndex index.php index.htm index.html
DirectoryIndex index.php index.htm index.html
之后再重啟一下服務器,你就發現環境已經配置好了。