mac安装PHP7时出现的问题汇总
背景
前几天在mac上跑workrman,由于workerman需要开启多个进程,多进程需要pcntl扩展的支持,我之前那个brew安装的php71没有这个扩展,就直接卸载了php71,然后想下载源码编译安装php7的更高版本,也可以更自由的安装扩展。
源码编译安装(php-7.2.7)
问题一
configure: WARNING: you should use --build, --host, --target configure: WARNING: invalid host type: configure: WARNING: you should use --build, --host, --target configure: WARNING: invalid host type: --enable-fpm configure: WARNING: you should use --build, --host, --target configure: WARNING: invalid host type: --with-mysqli configure: WARNING: you should use --build, --host, --target configure: WARNING: invalid host type: --with-pdo-mysql configure: WARNING: you should use --build, --host, --target configure: WARNING: invalid host type: --with-iconv-dir configure: WARNING: you should use --build, --host, --target configure: WARNING: invalid host type: --with-eeeetype-dir configure: WARNING: you should use --build, --host, --target configure: WARNING: invalid host type: --with-zlib configure: WARNING: you should use --build, --host, --target configure: WARNING: invalid host type: --with-jpeg-dir configure: WARNING: you should use --build, --host, --target configure: WARNING: invalid host type: --with-png-dir configure: error: invalid variable name: ` --with-libxml-dir'
解决:都是因为—with前面多了个空格
问题二
Sorry, I cannot run apxs. Possible reasons follow: 1. Perl is not installed 2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs 3. Apache was not built using --enable-so (the apxs usage page is displayed)
解决办法
brew install httpd find / -name apxs Centos下执行 yum install -y httpd-devel
查找到apxs文件路径,然后修改编译参数如下
--with-apxs2=/usr/local/bin/apxs
问题三
checking if the location of ZLIB install directory is defined... no ; configure: error: Cannot find libz.
解决办法
brew install zlib find / -name lib
加上参数
--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11
问题四
configure: error: Cannot locate header file libintl.h
原因是没有gettext
解决办法:
$PHP_GETTEXT /usr/local /usr; do
configure文件改为
for i in $PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext; do
问题五
configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
解决办法,编译参数中加上
\--with-iconv=/usr/local/Cellar/libiconv/1.15
问题六
checking for libiconv in -liconv... no checking for iconv in -liconv... no configure: error: Please reinstall the iconv library.
【最终卡在了这里,没解决。然后编译安装就没有成功】
最后解决到问题五的时候的编译安装命令如下:
./configure --prefix=/usr/local/php/7.2.7\—with-config-file-path=/usr/local/php/7.2.7/etc \--with-config-file-scan-dir=/usr/local/php/7.2.7/etc/conf.d \--with-apxs2=/usr/local/bin/apxs \--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11 \--enable-fpm \--with-fpm-user=www \--with-fpm-group=www \--with-mysqli \--with-pdo-mysql \--with-iconv=/usr/local/Cellar/libiconv/1.15 \--with-eeeetype-dir \--with-zlib \--with-jpeg-dir \--with-png-dir \--with-libxml-dir=/usr/bin/xml2-config \--enable-xml \--disable-rpath \--enable-bcmath \--enable-shmop \--enable-sysvsem \--enable-inline-optimization \--with-curl \--enable-mbregex \--enable-mbstring \--with-mcrypt \--enable-ftp \--with-gd \--enable-gd-native-ttf \--with-onsnssl \--with-mhash \--enable-pcntl \--enable-sockets \--with-xmlrpc \--enable-zip \--enable-soap \--without-pear \--with-gettext \--disable-fileinfo \--enable-maintnener-zts \--enable-mysqlnd
brew安装
1.搜索brew中的php
brew search php
出现了:php@5.6 php@7.1 php@7.0
2.然后安装了php7.0
brew install php70
3.将php设置系统环境变量
find / -name php # 先找到php执行文件 cp /usr/local/Cellar/php@7.0/7.0.30_1/bin/php /usr/bin # 将php执行文件放到/usr/bin/文件夹中
最后
通过源码编译安装没有成功,还是brew install安装成功。
更多PHP7相关知识,请访问PHP7专题栏目!
以上是mac安装PHP7时出现的问题汇总的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undress AI Tool
免费脱衣服图片

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

解决 PHP 7.0 中插件未显示已安装问题的方法:检查插件配置并启用插件。重新启动 PHP 以应用配置更改。检查插件文件权限,确保其正确。安装丢失的依赖项,以确保插件正常运行。如果其他步骤均失败,则重建 PHP。其他可能原因包括插件版本不兼容、加载错误版本或 PHP 配置问题。

在php5中,我们可以使用fsockopen()函数来检测TCP端口。这个函数可以用来打开一个网络连接和进行一些网络通信。但是在php7中,fsockopen()函数可能会遇到一些问题,例如无法打开端口、无法连接到服务器等。为了解决这个问题,我们可以使用socket_create()函数和socket_connect()函数来检测TCP端口。

php7.0安装mongo扩展的方法:1、创建mongodb用户组和用户;2、下载mongodb源码包,并将源码包放到“/usr/local/src/”目录下;3、进入“src/”目录;4、解压源码包;5、创建mongodb文件目录;6、将文件复制到“mongodb/”目录;7、创建mongodb配置文件并修改配置即可。

PHP服务器环境常见的解决方法包括:确保已安装正确的PHP版本和已复制相关文件到模块目录。临时或永久禁用SELinux。检查并配置PHP.ini,确保已添加必要的扩展和进行正确设置。启动或重启PHP-FPM服务。检查DNS设置是否存在解析问题。

在Docker环境中使用PECL安装扩展时报错的原因及解决方法在使用Docker环境时,我们常常会遇到一些令人头疼的问�...

如何在系统重启后自动设置unixsocket的权限每次系统重启后,我们都需要执行以下命令来修改unixsocket的权限:sudo...

本地环境:redhat6.7系统。nginx1.12.1,php7.1.0,代码使用yii2框架问题:本地的web站需要用到elasticsearch服务。当php使用本地服务器搭建的elasticsearch时,本地的负载都是正常。当我使用aws的elasticsearchservice服务时,本地服务器出现负载经常过高的情况。查看nginx和php日志,发现没有异常。系统的并发连接数也不高。这时候想到我们老大给我讲的一个strace诊断工具。调试过程:查找一个php的子进程idstrace-

php7.0安装部署的方法:1、到PHP官网下载与本机系统对应的安装版本;2、将下载的zip文件解压到指定目录;3、打开命令行窗口,在“E:\php7”目录下运行“php -v”命令即可。
