markdown 使用Homebrew安装Apache 2.4和PHP 7.1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 使用Homebrew安装Apache 2.4和PHP 7.1相关的知识,希望对你有一定的参考价值。

I posted several talks about compiling PHP from source, but everyone was trying to convince me that a package manager like [Homebrew](https://brew.sh) was a more convenient way to install.

The purpose of [Homebrew](https://brew.sh) is simple: a package manager for macOS that will allow you to set up and install common packages easily and allows you to update frequently using simple commands.

I used a clean installation of [macOS Sierra](https://www.apple.com/macos/sierra/) to ensure all steps could be recorded and tested. In most cases you already have done work on your Mac, so chances are you can skip a few steps in this tutorial.

# Apache and PHP with homebrew

I’ve made this according to the installation instructions given on [GetGrav](https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions).

## The installation procedures

These installation procedures will set up your [macOS Sierra](https://www.apple.com/macos/sierra/) with PHP 7.1 and Apache 2.4.

### Install Xcode command line tools (if not done yet)

```
xcode-select --install
```

### Install Homebrew

```
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```

Set up for installation of PHP and Apache

```
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
brew tap homebrew/apache
```

### Unload the provisioned Apache from macOS Sierra

```
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
```

### Install Homebrew Apache

```
brew install httpd24 --with-privileged-ports --with-http2
```

### Set up Apache for autostart at macOS Sierra (re)boot

```
sudo cp -v /usr/local/Cellar/httpd24/2.4.25/homebrew.mxcl.httpd24.plist /Library/LaunchDaemons
sudo chown -v root:wheel /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist
sudo chmod -v 644 /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist

```

### Check to see Apache is running

```
ps -aef | grep httpd
```

You should see something similar as output

```
    0 23417     1   0  2:48PM ??         0:00.06 /usr/local/opt/httpd24/bin/httpd -D FOREGROUND
    1 23420 23417   0  2:48PM ??         0:00.00 /usr/local/opt/httpd24/bin/httpd -D FOREGROUND
    1 23421 23417   0  2:48PM ??         0:00.00 /usr/local/opt/httpd24/bin/httpd -D FOREGROUND
    1 23422 23417   0  2:48PM ??         0:00.00 /usr/local/opt/httpd24/bin/httpd -D FOREGROUND
    1 23423 23417   0  2:48PM ??         0:00.00 /usr/local/opt/httpd24/bin/httpd -D FOREGROUND
    1 23424 23417   0  2:48PM ??         0:00.00 /usr/local/opt/httpd24/bin/httpd -D FOREGROUND
  501 23428   403   0  2:48PM ttys000    0:00.00 grep httpd
```

### Uninstall previous versions of PHP

We assume you had PHP 7.0 installed

```
brew unlink php70
```

### Install latest PHP version (PHP 7.1.2 at the time of writing)

Time to install latest PHP with the apache web server

```
brew install php71 --with-httpd24
```

**Don’t forget to set `date.timezone` in `/usr/local/etc/php/7.1/php.ini`!!!**

### Configure Apache for PHP usage

Also make sure to set the following line in `/usr/local/etc/apache2/2.4/httpd.conf` (You might need to disable others):

```
LoadModule php7_module    /usr/local/opt/php71/libexec/apache2/libphp7.so
```

Also make sure you have set the following lines correctly:

```
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

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

### Time to restart apache

```
sudo /usr/local/bin/apachectl -k restart
```

### Test your setup

Create a `phpinfo.php` in `/usr/local/var/www/htdocs` with the following contents:

```
<?php phpinfo();
```

You should see the famous PHP information page!

### Next steps

Now you can set up your virtual hosts like you normally would do.

以上是关于markdown 使用Homebrew安装Apache 2.4和PHP 7.1的主要内容,如果未能解决你的问题,请参考以下文章

markdown 使用Homebrew安装Apache 2.4和PHP 7.1

markdown 使用Homebrew安装的pg和openssl在Mac上构建pgmodeler

markdown 通过Homebrew安装NVM,Node.js,Yarn

markdown 如果你已经在Mac OS X或Linuxbrew上通过Homebrew安装了Node,那么如何修复npm的说明

markdown 在macOS Mojave上,rbenv install 2.6.1挂起“使用来自homebrew的realline”

markdown Homebrew Cheat Sheet