PHP 安裝擴展報錯 grep: /usr/include/php/main/php.h: No such file or directory

環境:
Mac os cataline 版本 10.15.3 (19D76)
PHP Version 7.3.11
資源:libzip-1.2.0.tar.gz+zip 提取碼: vk6v

安裝ZipArchive

wget [http://pecl.php.net/get/zip](http://pecl.php.net/get/zip)
tar -zxvf zip
cd zip-1.x.x
phpize
./configure
make
sudo make instal

執行 phpize命令時遇到:

usermac@ usermac zip-1.17.1 % phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  

終端
cd /usr
/usr下找不到include文件

Xcode:(如果找不到Xcode.app,先到App Store下載安裝)
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include路徑下有需要的文件,最好自己cd到路徑下查看MacOSX10.15.sdk可能不一樣。

直接在終端執行

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include /usr/include

報錯:沒有權限(即便加了sudo)

ln: /usr/include: Operation not permitted

解決方法:

1、重啟mac電腦,同時按住command+r, 出現進度條再松開。

2、彈出界面,選擇“實用工具->終端”,輸入:csrutil disable,然后回車會有英文提示成功。

3、重新啟動電腦

4、進入“終端”,輸入

cd /usr
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include /usr/include

提示:系統文件只讀

ln: /usr/include: Read-only file system

終端執行:

sudo mount -uw /

然后再執行第4步。
查看/usr/下文件,操作完成。

接著執行phpize命令,報錯:

checking for libzip... not found
configure: error: Please reinstall the libzip distribution

需要安裝libzip

wget https://libzip.org/download/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make 
sudo make install

之所以下載1.2.0版本,因為更高版本安裝時,還需要另外安裝cmake 命令。

接著執行phpize命令
當執行 make命令時:

/usr/local/include/zip.h:59:10: fatal error: 'zipconf.h' file not found
#include <zipconf.h>
         ^~~~~~~~~~~
1 error generated.
make: *** [php73/php_zip.lo] Error 1

zipconf.h拷貝過去

 cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

接著執行 make && sudo make install 命令

最后返回一個地址:這個地址下保存了zip.so

Installing shared extensions:     /usr/lib/php/extensions/no-debug-non-zts-20180731/

編輯/etc/php.ini (可以通過phpinfo()來查看位置)
zlib.output_compression = Off 改為 zlib.output_compression = On ;
增加extension =/usr/lib/php/extensions/no-debug-non-zts-20180731/zip.so
保存

最后重啟一下Apache
sudo apachectl restart

這個zip模塊就安裝完成了

參考:
PHP如何開啟自帶的ZipArchive類,實現壓縮解壓功能
PHP ZipArchive 安裝

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。