[英]Yosemite / El Capitan php-gd + mcrypt installation
請注意以下步驟安裝最新的PHP 5.5.x.
要檢查是否安裝了gd和mcrypt,請使用$ php -m
顯示已編譯的模塊,如果缺少所需的模塊,請繼續,請參閱接受的答案 。
所以,Apple安裝了GD(你正在使用他們的PHP構建,這很好),但不包括對PNG的支持。
如果出現以下情況,您肯定缺少“完整” gd(帶png支持)模塊: imagecreatefrompng()函數丟失。
"Call to undefined function imagecreatefrompng()"
使用已接受的答案安裝brew並使用gd安裝省略部分(除非您需要),並使用以下步驟:
$ brew search mcrypt
$ brew install php55-mcrypt
$ php -m | grep mcrypt
確認 $ php -m | grep mcrypt
查看brew-php-switcher並按照說明操作。
你是對的,Yosemite的內置PHP沒有PNG和FreeType支持。
更新2015/10為El Captian:使用OS X 10.11 El Capitan PNG支持回來了,但FreeType仍然缺失。
解
使用Homebrew包管理器輕松構建和安裝完整的PHP並在Apache的配置中替換它。 如果您按照以下步驟操作,整個過程大約需要十分鍾。
一個快速(但完整)的步驟
(注1:我在這里使用Homebrew ,OS X的軟件包管理系統。如果您熟悉MacPorts - 另一個軟件包管理器 - 您可以使用該系統獲得相同的結果。也可以並行使用我的Homebrew解決方案您機器上現有的MacPorts安裝。)
(注意2:如果您想閱讀有關安裝過程的所有詳細信息,請查看Homebrew基本安裝和Homebrew PHP安裝信息。但如果您按照這些步驟操作,則實際上不需要這樣做。)
現在我們走吧......
首先從App Store安裝Xcode 。 如果您已經擁有它,請再次檢查App Store,以確保您擁有最新版本!
現在您需要安裝Xcode命令行工具 。 為此,請打開終端並輸入:
xcode-select --install
下一個命令將安裝Homebrew包管理器系統:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
該腳本解釋了它將做什么,然后在它執行之前暫停。
下一個要輸入的命令是一種系統狀態測試:
brew doctor
這將檢查Homebrew安裝的基礎知識。
我收到一條警告“你安裝了MacPorts或Fink:/ opt / local / bin / port ...” ,我成功地忽略了它。 ;)
現在設置homebrew / dupes tap,它具有我們需要的依賴項:
brew tap homebrew/dupes
設置homebrew / versions tap,它也有我們需要的依賴項:
brew tap homebrew/versions
然后運行以下命令:
brew tap homebrew/homebrew-php
現在您已准備好最終構建PHP。 有關可用配置選項的列表,您可以運行以下其中一個:
brew options php55
brew options php56
但我只是使用默認值。
要做到這一點進入這兩個中的一個 ,這取決於你的需求:
brew install php55
brew install php56
(這需要一段時間,請耐心等待!)
在Yosemite(10.10.5)上安裝php56(5.6.x)時有一個錯誤請在github上看到這個問題 。 請使用
brew install php56 --without-ldap
。
如果您收到類型為“找不到OpenSSL”的錯誤,則表示您沒有像我在開始時告訴您的那樣安裝Xcode命令行工具。 ;)繼續,安裝它們並重新運行最后一個命令。
PHP現在已經構建,腳本將以一些有關如何使用它的細節結束:
打開httpd.conf文件(應該位於/private/etc/apache2/httpd.conf),並通過添加這兩條線之一 ,具體取決於您剛安裝上的PHP版本啟用PHP:
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
不要忘記注釋掉Yosemite自己的PHP版本中可能存在的任何現有的LoadModule php5_module ...行!
重啟Apache
sudo apachectl restart
您可以在以下位置找到新的php.ini文件: /usr/local/etc/php/5.5/php.ini
請享用!
來自@Jpsy的答案很好,但還有另外一個選項,來自liip的人, 在這里 。 這是為Yosemite預先構建的PHP包(舊版本也可以使用),但它只是一行代碼:
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5
在那之后,一切都准備好按預期工作。 該安裝附帶的配置非常適合Symfony 2開發,但它應該適用於其他用例。
最后,如果您還需要使用更新的PHP CLI,但是您不想使用操作系統附帶的PHP版本,那么您還可以添加到.bash_profile
或類似的以下代碼行:
export PATH=/usr/local/php5/bin:$PATH
我沒有足夠的代表發表評論,但是如果您使用OS X Server for Yosemite(App Store中的第4版),則要編輯的文件是:
/library/server/web/config/apache2/httpd_server_app.conf
我現在看起來像這樣,並確認它是在使用自制的PHP 5.6后工作。
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
標准的Apache與Yosemite一起發布后更新的文件
sudo brew install php55
在/etc/apache2/httpd.conf
請注意,php.ini的位置也會更改。 Yosemite的標准版本在/etc/php.ini中,有自制版本的版本在/usr/local/etc/php/5.5/php.ini
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.