前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP常见错误解决方案

PHP常见错误解决方案

作者头像
用户1456517
发布2019-03-05 15:52:51
1.6K0
发布2019-03-05 15:52:51
举报
文章被收录于专栏:芝麻实验室芝麻实验室

使用phpize为PHP动态添加扩展时,报Cannot find autoconf错误

  • 解决方案
代码语言:javascript
复制
    $ /app/php/bin/phpize
    Configuring for:
    PHP Api Version:         20170718
    Zend Module Api No:      20170718
    Zend Extension Api No:   320170718
    Cannot find autoconf. Please check your autoconf installation and the
    $PHP_AUTOCONF environment variable. Then, rerun this script.
    $ yum -y install m4 autoconf #手动编译m4和autoconf亦可(不推荐) --> 解决方案
    $ /app/php/bin/phpize
    Configuring for:
    PHP Api Version:         20170718
    Zend Module Api No:      20170718
    Zend Extension Api No:   320170718

为PHP添加php-curl扩展

  • 问题描述
代码语言:javascript
复制
    $ ./configure \
    --prefix=/app/php \
    --enable-mysqlnd \
    --with-mysqli=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    --with-openssl \
    --enable-mbstring \
    --with-freetype-dir \
    --with-jpeg-dir \
    --with-png-dir \
    --with-zlib \
    --with-libxml-dir=/usr \
    --enable-xml \
    --enable-sockets \
    --enable-fpm \
    --with-config-file-path=/etc/ \
    --with-config-file-scan-dir=/etc/php.d \
    --with-bz2 \
    --with-gd \
    --with-curl

    ...省略中间的Check过程...

    checking for cURL 7.10.5 or greater... configure: error: cURL version 7.10.5 or later is required to compile php with cURL support #环境检查程序检测到需要cURL版本7.10.5或更高版本才能使用cURL支持编译php,意即当前PHP源码包中的cURL版本较旧,不支持'--with-curl'编译选项
  • 解决方案:
代码语言:javascript
复制
    $ yum -y install curl-devel
    $ wget -O /usr/src/curl-7.64.0.tar.gz https://curl.haxx.se/download/curl-7.64.0.tar.gz
    $ cd /usr/src
    $ tar xf curl-7.64.0.tar.gz
    $ cd curl-7.64.0
    $ /app/php/bin/phpize
    Cannot find config.m4. #提示未发现config.m4文件
    Make sure that you run '/app/php/bin/phpize' in the top level source directory of the module

    $ cp /usr/src/php-7.2.5/ext/curl/config.m4 . #拷贝PHP源码包中的config.m4文件到当前目录下
    $ /app/php/bin/phpize
    Configuring for:
    PHP Api Version:         20170718
    Zend Module Api No:      20170718
    Zend Extension Api No:   320170718

    $ ./configure --with-php-config=/app/php/bin/php-config #调用configure生成Makefile文件,指定phpize要建立基于哪个php版本的扩展
    $ make -j4 #编绎
    $ make install #复制安装
    $ find /usr/local/ -name 'curl.so' #查找生成的curl.so文件
    /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/curl.so
    $ cat /etc/php.ini | grep curl.so #将curl.so文件路径添加到php.ini的extension(扩展)部分
    extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/curl.so
    $ service php-fpm restart #重启`PHP-FPM`程序以重载php.ini文件
    $ php-fpm -m | grep curl #检查php-curl扩展是否添加成功
    curl

PHP连接远程DB服务器

  • MySQL为例
代码语言:javascript
复制
    $ yum -y install php-mysql

为PHP添加GD库扩展

  • gd库的安装依赖于freetype, jpegsrc及libpng,有关GD库安装详情请参见PHP开启GD库支持

【附注】

  • 如果没有将phpize添加到全局$PATH中,将报command not found的错误,此时需要手动指定phpize路径,一般在$PHP_INSTALL_PATH/bin/下;
  • phpize用于扩展php模块,无论是通过手动编译还是通过yum软件包管理器都会生成phpize文件。该文件中记录了PHP的安装信息和相关变量,因此由于不同组织或个人编译PHP时的需求不尽相同,不能从其他地方直接拷贝phpize文件使用,而应在编译好PHP后对该文件做好备份或找到自己对应PHP版本的phpize文件;
  • 安装curl和安装php-curl是有区别的,但源码包是一样的;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019/02/24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档