我最近遇到一個情況,我從原始碼建置 PHP 7.1.13。設定和 make 執行順利,但是,當我執行 make install 時,它就卡住了。結果發現,如果您使用 Apache (apxs) 建置 PHP,make 檔案會使用 -a 旗標呼叫 apxs,該旗標會指示它修改 httpd.conf 檔案。如果因為任何原因,該檔案不可寫入,則它會失敗,您就會遇到卡住的情況。
我的 Makefile 中的第 108 行如下所示
INSTALL_IT = $(mkinstalldirs) '$(INSTALL_ROOT)/usr/lib64/httpd/modules' && $(mkinstalldirs) '$(INSTALL_ROOT)/etc/httpd/conf' && /usr/sbin/apxs -S LIBEXECDIR='$(INSTALL_ROOT)/usr/lib64/httpd/modules' -S SYSCONFDIR='$(INSTALL_ROOT)/etc/httpd/conf' -i -a -n php7 libphp7.la
我必須移除 -a 旗標,然後就沒問題了。