我正在運行MacPro G5 w/10.5.8。我跑了: sudo port selfupdate然後運行: sudo端口升級過時 當它完成後,我重新啓動並且apache2壞了,不再提供PHP文件。如果我替換httpd.conf文件,它將提供html文件。 我終於放棄了,並恢復了備份,並且機器再次運行。問題是我有第二臺機器,我做了同樣的事情,不想經過相同的過程。我已經閱讀了幾篇關於從Kirk Roybal How to do a clean reinstall with macports?中卸載/重新安裝Macports的文章,但並未說明這個過程是否會破壞或重置/ opt/local /目錄的內容。尤其是MySQL數據庫和htdocs內容。有誰知道這個過程是連接還是破壞性的?當然,在嘗試任何事情之前,我會做好所有事情的備份。重新安裝Macports是否刪除/銷燬/ opt/local /目錄結構的內容?
解決方案: 我通過使php53安裝工作,而不是倒退來得到它的工作。下面是我所做的:
sudo的端口選擇--set PHP php53 (設置MacPorts的使用php53而不是PHP5)
sudo的港口安裝(檢查,以確保安裝php53-apache2handler)
sudo的港口安裝php53-apache2handler (這是不是和你的可能不是要麼)
一旦這樣做斯塔灌裝
PHP -v (檢查正在運行的PHP版本)
CD /選擇/本地/ Apache2的/模塊
須藤的/ opt /本地/ Apache2的/ bin中/ APXS -a -e -n PHP mod_php53.so (激活阿帕奇內PHP)
這應該追加
個的LoadModule php5_module模塊/ mod_php53.so
您/opt/local/apache2/conf/httpd.conf文件(現在檢查)
也將有這樣
線的LoadModule php5_module模塊/ mod_php5.so
註釋出來或將其刪除所以不與新的干涉安裝
還應移動mod_php53.so的副本
/選擇/本地/ Apache2的/模塊
如果沒有的話,請參閱php53-apache2handler上面安裝。
檢查是否存在錯誤 httpd.conf文件
/選擇/本地/ Apache2的/斌/的httpd -S
最後,創建/編輯php.ini文件,告訴的Apache2如何連接到MySQL數據庫
CD /選擇/本地/ etc/php53
須藤CP的php.ini-生產的php.ini (用於生產機器使用的開發開發機)
須藤CP的php.ini php.ini.bak
添加默認路徑插座了php.ini
pdo_mysql.default_socket = /選擇/ local/var/run/mysql5/mysqld.sock (可能因MySQL版本而異。檢查到/ opt /本地的/ var /運行目錄,如果不知道)
mysql.default_socket = /選擇/本地的/ var /運行/ MYSQL5/mysqld.sock
mysqli.default_socket = /選擇/本地/var/run/mysql5/mysqld.sock
如果您在連接到MySQL時遇到問題,請檢查上述路徑中的拼寫錯誤。相信我,它會爲你節省大量的時間! 如果一切都按計劃進行,您應該能夠重新啓動機器,進行測試以確保所有端口自動啓動並且應該正常工作。
您可能已經安裝了php5,但它已被棄用,並且最近自動遷移到php53。但是,如果您希望繼續工作,則需要調整Apache配置文件。或者,您也可以在其他php5x端口中獲得較新的PHP版本。對於mod_php,你需要php5x-apache2handler。 – neverpanic 2014-12-03 09:43:58
原來我問的是錯誤的問題。 @關於php5被棄用的洞察力使我意識到我不需要重新安裝舊的,但想出如何使php53安裝工作。 – 2014-12-09 15:44:51