簡體   English   中英

Yosemite / El Capitan php-gd + mcrypt安裝

[英]Yosemite / El Capitan php-gd + mcrypt installation

如何在Yosemite 10.10 - PHP 5.5.14版本中安裝/啟用php-gdmcrypt

請注意以下步驟安裝最新的PHP 5.5.x.

要檢查是否安裝了gd和mcrypt,請使用$ php -m顯示已編譯的模塊,如果缺少所需的模塊,請繼續,請參閱接受的答案


GD

所以,Apple安裝了GD(你正在使用他們的PHP構建,這很好),但不包括對PNG的支持。

如果出現以下情況,您肯定缺少“完整” gd(帶png支持)模塊: imagecreatefrompng()函數丟失。

"Call to undefined function imagecreatefrompng()"

在此輸入圖像描述


這個Mcrypt

使用已接受的答案安裝brew並使用gd安裝省略部分(除非您需要),並使用以下步驟:

  1. 做搜索 - $ brew search mcrypt
  2. 選擇你想要的PHP版本
  3. 安裝 - $ brew install php55-mcrypt
  4. 使用$ php -m | grep mcrypt確認 $ php -m | grep mcrypt

想在PHP版本之間切換?

查看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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM