說到Mac下編譯PHP,相信很多人都會覺得非常困難,畢竟在Windows下我們可以直接下載安裝包進行安裝,而在Mac下需要安裝一些額外的軟件包和工具才可以成功編譯PHP。但是如果你了解了一些基礎的編程知識和操作方法,其實這項工作并不算是一件十分的困難的事情。
以MacOS Catalina為例,編譯PHP需要用到Homebrew和Xcode兩個軟件。Homebrew是一個強大的包管理器,在控制臺下可以輕松安裝眾多的軟件包。Xcode則是一個Apple官方開發工具,包含了很多的開發工具和調試工具,適合開發者進行iOS、macOS以及watchOS應用程序的開發和測試。
// 安裝Homebrew $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" // 安裝Xcode $ xcode-select --install
安裝好上述軟件之后,就可以開始編譯PHP了。首先,我們需要使用Homebrew安裝PHP依賴包。在控制臺中輸入以下命令:
$ brew install autoconf icu4c libjpeg libpng libtool libzip openssl readline
這會自動安裝本文所列出的所有依賴包。然后,我們需要下載PHP源代碼:
$ curl -L "http://cn2.php.net/distributions/php-7.4.3.tar.gz" -o php.tar.gz $ tar -xzvf php.tar.gz
接下來就是編譯PHP了,這里我們以編譯PHP7.4.3為例,具體版本根據需要下載不同的源代碼。輸入以下命令:
$ cd php-7.4.3 $ ./configure --prefix=/usr/local/php \ --with-zlib-dir=/usr/local/opt/zlib \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-jpeg \ --with-png \ --with-openssl=/usr/local/opt/openssl \ --enable-mbstring \ --with-iconv \ --enable-shmop \ --with-zip \ --enable-sockets \ --enable-fpm \ --with-fpm-user=_www \ --with-fpm-group=_www \ --with-config-file-path=/usr/local/etc/php \ --with-readline \ --with-libxml-dir=/usr \ --with-icu-dir=/usr/local/opt/icu4c \ --enable-intl $ make $ sudo make install
執行以上命令之后,就可以在/usr/local/php/bin/目錄下找到編譯完成的可執行文件。如果需要將PHP添加到系統的環境變量中,可以在~/.bash_profile文件中添加以下內容:
export PATH="/usr/local/php/bin:$PATH"
這樣,在控制臺下就可以直接使用PHP命令了。
需要注意的是,如果要使用php-fpm,需要安裝php-fpm并在啟動系統時啟動php-fpm服務。輸入以下命令即可完成php-fpm的安裝:
$ brew install php-fpm
安裝完成后,需要在/usr/local/etc中創建一個php目錄,并在該目錄下創建一個php-fpm.conf文件,文件內容如下:
[global] pid = /usr/local/var/run/php-fpm.pid [www] listen = /var/run/php5-fpm.sock user = _www group = _www listen.owner = _www listen.group = _www php_admin_value[error_log] = /var/log/php-fpm.log php_admin_flag[log_errors] = on
然后,需要將php-fpm加入啟動項,輸入以下命令:
$ sudo brew services start php-fpm
以上就是在Mac下編譯PHP的步驟,雖然看起來有些復雜,但是只需要按照步驟一步一步操作,就可以輕松完成編譯。編譯后的PHP可以用于web編程、命令行程序編寫等多種場景。