Mac 下源码安装PHP7.3.14

本文提供了一步一步的指南,教你如何在MacOS上下载并编译安装PHP7.3.14版本,包括解决编译过程中遇到的如找不到OpenSSL的evp.h文件、libz错误以及链接器错误等问题。

下载PHP7.3.14版本。 https://www.php.net/downloads/distributions/php-7.3.14.tar.gz

tar xzvf   php-7.3.14.tar.gz

 

./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/lib/ --enable-mbstring --with-openssl=/usr/local/Cellar/openssl@1.1/1.1.1d --enable-ftp --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --with-freetype-dir=/usr --with-libxml-dir=/usr --with-xmlrpc --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11  --with-zlib --with-iconv=/usr/local/Cellar/libiconv/1.16 --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl=/usr/local/Cellar/curl/7.68.0/   --enable-bcmath

 

解决Mac OS编译安装时出现 cannot find openssl's <evp.h> 错误的问题

 configure: error: Cannot find OpenSSL's <evp.h> 问题解决

brew install openssl

  添加openssl 的安装目录的指定,问题解决 --with-openssl=/usr/local/Cellar/openssl@1.1/1.1.1d

 

configure: error: Cannot find libz 错误解决方法

brew install zlib

brew install libiconv

brew install libzip

添加zlib的安装路径,问题解决: --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11

 

configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/

添加curl的安装路径,问题解决:--with-curl=/usr/local/Cellar/curl/7.68.0/  


如果make时报此错误

z -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm -lxml2 -lz -licucore -lm  -o sapi/cli/php
Undefined symbols for architecture x86_64:
  "_libiconv", referenced from:
      _do_convert in gdkanji.o
      _zif_iconv_substr in iconv.o
      _zif_iconv_mime_encode in iconv.o
      _php_iconv_string in iconv.o
      __php_iconv_strlen in iconv.o
      __php_iconv_strpos in iconv.o
      __php_iconv_appendl in iconv.o
      ...
  "_libiconv_close", referenced from:
      _do_convert in gdkanji.o
      _zif_iconv_substr in iconv.o
      _zif_iconv_mime_encode in iconv.o
      _php_iconv_string in iconv.o
      __php_iconv_strlen in iconv.o
      __php_iconv_strpos in iconv.o
      __php_iconv_mime_decode in iconv.o
      ...
  "_libiconv_open", referenced from:
      _do_convert in gdkanji.o
      _zif_iconv_substr in iconv.o
      _zif_iconv_mime_encode in iconv.o
      _php_iconv_string in iconv.o
      __php_iconv_strlen in iconv.o
      __php_iconv_strpos in iconv.o
      __php_iconv_mime_decode in iconv.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [sapi/cli/php] Error 1

解决方案:

vim Makefile文件
找到 这两个关键词EXTRA_LDFLAGS和EXTRA_LDFLAGS_PROGRAM删除

EXTRA_LDFLAGS = -L/Library/Developer/CommandLineTools/SDKs/MacOSX10.13.sdk/usr/lib -L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/opt/freetype/lib
EXTRA_LDFLAGS_PROGRAM = -L/Library/Developer/CommandLineTools/SDKs/MacOSX10.13.sdk/usr/lib -L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/opt/freetype/lib

删除 -L/Library/Developer/CommandLineTools/SDKs/MacOSX10.13.sdk/usr/lib 类似此字符串的字符

 

mac php mkdir: /usr/local/php: Permission denied

去对应的文件夹 修改文件的所属用户,再次安装成功

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fish_study_csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值