簡體   English   中英

無法在 macOS Sierra 上使用 Homebrew 安裝 PHP 7

[英]Unable to install PHP 7 with Homebrew on macOS Sierra

我正在嘗試設置 Laravel 的 Valet,作為依賴項,它需要 PHP 7。當我嘗試使用 Homebrew 安裝 PHP 7 時,出現以下錯誤:

Configuring SAPI modules
checking for Apache 2.0 handler-module support via DSO through APXS... 

Sorry, I cannot run apxs.  Possible reasons follow:

1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)

The output of /usr/sbin/apxs follows:
apxs:Error: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/apr-1-config not found!.

configure: error: Aborting

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/brew):
  https://github.com/Homebrew/homebrew-php/issues

These open issues may also help:
php70-dbase  https://github.com/Homebrew/homebrew-php/issues/3508
php70-intl not found https://github.com/Homebrew/homebrew-php/issues/3591
php70-opcache install issue https://github.com/Homebrew/homebrew-php/issues/3586
Problem installing php70-mcrypt, php70-opcache, php70-xdebug on El Capitan https://github.com/Homebrew/homebrew-php/issues/3587
Add php70-zmq formula https://github.com/Homebrew/homebrew-php/pull/3474
Problem installing homebrew/php/php70-imagick https://github.com/Homebrew/homebrew-php/issues/3571
Install PHP70: Incompatible library version https://github.com/Homebrew/homebrew-php/issues/3444
brew install php70-redis https://github.com/Homebrew/homebrew-php/issues/2762
Allow --enable-redis-igbinary for php70-redis https://github.com/Homebrew/homebrew-php/pull/3473
Add head formula for php70-uploadprogress https://github.com/Homebrew/homebrew-php/pull/3178

這是全新安裝的 MacOS Sierra(實際版本,不是測試版)和全新安裝的 Homebrew(更新)。 我已經安裝、運行並同意 Xcode 許可協議。

我不知道這些錯誤是什么意思。 我該如何修復它們?

沒錯,我已經想通了。 我在下面發布了成功安裝所需組件的步驟,以防其他人偶然發現此問題:

1)。 確保 Homebrew 是最新的:

brew update

2)。 通過確保 Xcode 已安裝,然后在終端中鍵入以下內容來修復 PHP 7 錯誤:

brew install apr apr-util
sudo mkdir -p /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
sudo ln -s /usr/local/opt/apr/bin/apr-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
sudo ln -s /usr/local/opt/apr-util/bin/apu-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/

3)。 運行以下命令(否則 PHP 安裝會抱怨缺少 libz):

xcode-select --install

4)。 您現在可以使用 Homebrew 安裝 PHP 7:

brew install homebrew/php/php70

我使用以下命令使其工作。

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
brew update && brew install apr apr-util
brew link apr-util --force
brew link apr --force
which apu-1-config
which apr-1-config
sudo mkdir -p /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
sudo ln -s /usr/local/bin/apu-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
sudo ln -s /usr/local/bin/apr-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
brew install php70

對於通過 Homebrew 使用 macOS 提供的 Apache 和 PHP 安裝的人來說,這也很重要(引用自 Homebrew php70 install):

隨着 macOS Sierra 的發布,Apache 模塊現在不是默認構建的。 如果你想在你的系統上構建它,你必須使用 --with-apache 選項安裝 php。 有關更多詳細信息,請參閱 brew 選項 php70。

這是我在 Macbook Pro (macOS Sierra) 中將 PHP 5.6 升級到 7.2 的方法

a. 首先更新brew包。

$ brew update && brew upgrade

如果舊版本的 PHP 與 Homebrew 一起安裝,則取消鏈接。

$ brew unlink php56

C. 安裝新版本的 PHP。

$ brew install php72

安裝后,顯示: To enable PHP in Apache in httpd.conf (/etc/apache2) 添加以下內容並重新啟動Apache:

d. 使用vim編輯apache2的httpd.conf。

$ sudo vim /etc/apache2/httpd.conf

搜索“php5_module”,然后推薦如下語句:

#Comment out the PHP5 module
#LoadModule php5_module libexec/apache2/libphp5.so

添加命令如下:

#Enable PHP 7 module
LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so

<FilesMatch \.php$>
  SetHandler application/x-httpd-php
</FilesMatch>

e. 最后,檢查 DirectoryIndex 包括 index.php

DirectoryIndex index.php index.html

php.ini 和 php-fpm.ini 文件可以在以下位置找到:

/usr/local/etc/php/7.2/

f. 重啟Apache服務

$ sudo apachectl restart

克。 檢查php版本:

$ php -v
PHP 7.2.7 (cli) (built: Jun 22 2018 06:29:00) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

完成!

請訪問我的博客文章“ 在 macOS Sierra (10.12) 上將 PHP 版本從 5.6 升級到 7.2 ”以獲取更多信息!

加油!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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