源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)

最近碰到一个奇怪的问题, PHP使用 curl_exec 访问 HTTPS 网页时, 返回502错误, 访问HTTP网页时没有问题,  用   echo   phpinfo() ;  查看, 支持openssl, 支持curl, 网上找了好多资料, 都没解决。

[plain] view plain copy

  1. [[email protected] ~]# php -V
  2. Failed loading /usr/local/zend/ZendOptimizer.so:  /usr/local/zend/ZendOptimizer.so: undefined symbol: zend_throw_exception_internal
  3. PHP Warning:  PHP Startup: memcache: Unable to initialize module
  4. Module compiled with module API=20060613
  5. PHP    compiled with module API=20090626
  6. These options need to match
  7. in Unknown on line 0
  8. PHP Warning:  PHP Startup: Unable to load dynamic library ‘/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/openssl.so‘
  9. - /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/openssl.so: undefined symbol: zend_parse_parameters_none in Unknown on line 0

用 #php  -V 查看, 提示  openssl.so  加载失败, 看来 肯定与openssl库有关。  重新安装了openssl库, 问题依旧。 原因是openssl库用到了 zend, 看上面的提示, 显示zend库也报错。 要处理估计还得重新安装zend库。 麻烦, 算了, 不让直接用源码编译一次 php, 说干就干吧。

下载了 PHP 5.5.0.tar.gz

[html] view plain copy

  1. ./configure ‘--prefix=/usr/local/php‘ ‘--with-config-file-path=/usr/local/php/etc‘ ‘--with-mysql=/usr/local/mysql‘ \
  2. ‘--with-mysqli=/usr/local/mysql/bin/mysql_config‘ ‘--with-iconv-dir‘ ‘--with-freetype-dir‘ ‘--with-jpeg-dir‘ ‘--with-png-dir‘ ‘--with-zlib‘ \
  3. ‘--with-libxml-dir=/usr‘ ‘--enable-xml‘ ‘--disable-rpath‘ ‘--enable-discard-path‘ ‘--enable-magic-quotes‘ ‘--enable-safe-mode‘ ‘--enable-bcmath‘ \
  4. ‘--enable-shmop‘ ‘--enable-sysvsem‘ ‘--enable-inline-optimization‘ ‘--with-curl‘ ‘--with-curlwrappers‘ ‘--enable-mbregex‘ ‘--enable-fastcgi‘ \
  5. ‘--enable-fpm‘ ‘--enable-force-cgi-redirect‘ ‘--enable-mbstring‘ ‘--with-mcrypt‘ ‘--enable-ftp‘ ‘--with-gd‘ ‘--enable-gd-native-ttf‘ ‘--with-openssl‘ \
  6. ‘--enable-exif‘ ‘--with-mhash‘ ‘--enable-pcntl‘ ‘--enable-sockets‘ ‘--with-xmlrpc‘ ‘--enable-zip‘ ‘--enable-soap‘ ‘--without-pear‘ ‘--with-gettext‘ \
  7. ‘--with-mime-magic‘ php_sapis="cli cgi"
  8. # make ZEND_EXTRA_LIBS=‘-liconv‘
  9. # make test
  10. # make  install
  11. 需要指定的目录 一个是mysql的安装目录, 一个是  mysql_config 所在的目录。

安装过程中可能会碰到一些错误, 下面是我安装碰到的,环境不一样, 每台机器碰到的问题也会不一样。

1、 碰到错误  xpm.h not found

# yum  install libXpm-devel //注意x为大写
# yum  install libXext-devel //注意x为大写

2、碰到错误  gmp.h not found

#yum install gmp

#yum install gmp-devel

3、碰到错误 error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen

#yum install libc-client-devel

4、碰到错误  error: Unable to detect ICU prefix or /usr/bin/icu-config failed

#yum   install  libicu*

#yum   install   icu*

5、碰到错误  error: ODBC header file ‘/usr/include/sqlext.h‘ not found

#yum install unixODBC-devel

6、碰到错误   error: Cannot find pspell

#yum install aspell-devel

7、碰到错误    error: Can not find recode.h anywhere under /usr /usr/local /usr /opt.

#yum install recode

#yum install recode-devel

8、碰到错误  error: Could not find net-snmp-config binary

#yum install net-snmp-devel

9、碰到错误   error: Cannot find libtidy

#yum install libtidy-devel

php 安装完毕了 , 测试 了一下 php 页面, 问题依旧, 最终仔细看了一下,   phpinfo() 函数显示的版本是  5.2.17,  而我安装的是  5.5.0, 显然 nginx 服务器使用的还是

老的 php, 没有启用我最新编译安装的 php,  查找了一下, 老的 php 的目录是   /usr/local/bin/php,  而我新安装的php目录是  /usr/bin/php

为何不用最新的php呢, 显然与  环境变量PATH有关 , 执行命令  env  , 看到

PATH=/usr/local/MySQL/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

我们可以修改  /etc/profile 文件 , 把文件最后一行 :

export PATH=/usr/local/mysql/bin:$PATH

修改为

export PATH=/usr/local/mysql/bin:/usr/bin:$PATH

然后

# cd /etc

#  source  profile   重新加载 profile 文件

最后再测试  php 文件,  curl_exec 可以访问 https 文件, 并取到数据了。

http://blog.csdn.net/langeldep/article/details/44227973

时间: 2024-10-29 19:11:43

源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)的相关文章

源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题

最近碰到一个奇怪的问题, PHP使用 curl_exec 访问 HTTPS 网页时, 返回502错误, 访问HTTP网页时没有问题,  用   echo   phpinfo() ;  查看, 支持openssl, 支持curl, 网上找了好多资料, 都没解决. [[email protected] ~]# php -V Failed loading /usr/local/zend/ZendOptimizer.so: /usr/local/zend/ZendOptimizer.so: undefi

CentOS 6源码编译安装 PHP 7.0.5

环境介绍: 系统版本:RHEL 6 软件仓库:yum-Base,yum-Epel PHP版本:PHP 7.0.5 安装方式:源码编译 删除原有yum安装版本php # yum remove php -y # yum remove php-* -y 2.安装开发包和依赖环境 # yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel

源码编译安装PHP5.3问题汇总

今天用源码编译PHP的时候,发现依赖的东西比较多,就记录了一些我机器上遇到的问题,欢迎大家补充 ----------------------------------------------------------------------error: Cannot find OpenSSL's <evp.h>yum install openssl-devel----------------------------------------------------------------------

源码编译安装gcc-5.3.0

系统环境:Amazon Linux AMI 2015.09.2 (HVM)---Fedora 23 Server 1.下载gcc-5.3.0安装包并将gcc-5.3.0.tar.gz放到/opt目录下解压: #sudo su #mkdir /opt/&cd /opt/ #wget http://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz #tar –zxf gcc-5.3.0.tar.gz 2.创建安装目录: #mkdir /usr/local/

[环境配置]Ubuntu 16.04 源码编译安装OpenCV-3.2.0+OpenCV_contrib-3.2.0及产生的问题

1.OpenCV-3.2.0+OpenCV_contrib-3.2.0编译安装过程 1)下载官方要求的依赖包 GCC 4.4.x or later CMake 2.6 or higher Git GTK+2.x or higher, including headers (libgtk2.0-dev) # 控制opencv GUI pkg-config Python 2.6 or later and Numpy 1.5 or later with developer packages (pytho

yum方式软件管理及进阶源码编译安装

1. yum简介2. yum组成结构3. yum配置使用4. yum命令详解5. yum源变量6. yum仓库创建7.进阶源码编译安装 1. yum简介YUM: Yellowdog Updater Modifed, 是由Duke University团队修改Yellow Dog Linux的Yellow Dog Updater开发而来的,是一个基于RPM包管理器的字符前端软件管理器(依赖于RPM包).能够从指定的服务器自动下载RPM包并且安装,可以处理RPM包的依赖关系,并且一次安装所有依赖的软

源码编译安装 httpd2.4+MariaDB5.5+php5.4 全新的LAMP

操作环境: http主机,php主机,MariaDB主机,操作系统CentOS6.5 x86_64 全部安装包组:Development tools  ServerPlatform Development httpeth0 IP:172.16.32.11 MariaDBeth0 IP:172.16.32.10 phpeth0 IP:172.16.32.12 httpd2.4新特性:解释下面安装用到的几个 event不再是测试状态,而是可以直接编译进去,mpm模块可以动态装载卸载 分了多个配置文件

ubuntu 源码编译安装最新的vim 8.0

为什么要源码编译安装VIM? 因为我要安装ycm,ycm要求vim版本为8.0 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 1,核对系统版本 [email protected]:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: tr

烂泥:mysql5.0数据库源码编译安装

本文首发于烂泥行天下. 本次实验的mysql.OS相关信息如下: Mysql:5.0.96 OS:centos 32 bit 最近公司要上新的业务,指明数据库使用的是mysql5.0版本.如果是使用rpm包安装的话,那就很简单了.直接使用yum安装即可,命令如下: yum –y install mysql mysql-server Yum方式安装完毕后,直接启动mysql数据库服务即可.如下图: 这样基本上就可以了. 但是这样安装mysql数据库,没有进行定制.比如mysql数据库的数据文件存储