源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)
最近碰到一个奇怪的问题, PHP使用 curl_exec 访问 HTTPS 网页时, 返回502错误, 访问HTTP网页时没有问题, 用 echo phpinfo() ; 查看, 支持openssl, 支持curl, 网上找了好多资料, 都没解决。
- [root@www ~]# php -V
- Failed loading /usr/local/zend/ZendOptimizer.so: /usr/local/zend/ZendOptimizer.so: undefined symbol: zend_throw_exception_internal
- PHP Warning: PHP Startup: memcache: Unable to initialize module
- Module compiled with module API=20060613
- PHP compiled with module API=20090626
- These options need to match
- in Unknown on line 0
- PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/openssl.so'
- - /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
- ./configure '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-mysql=/usr/local/mysql' \
- '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--with-iconv-dir' '--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' \
- '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-discard-path' '--enable-magic-quotes' '--enable-safe-mode' '--enable-bcmath' \
- '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--with-curlwrappers' '--enable-mbregex' '--enable-fastcgi' \
- '--enable-fpm' '--enable-force-cgi-redirect' '--enable-mbstring' '--with-mcrypt' '--enable-ftp' '--with-gd' '--enable-gd-native-ttf' '--with-openssl' \
- '--enable-exif' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-zip' '--enable-soap' '--without-pear' '--with-gettext' \
- '--with-mime-magic' php_sapis="cli cgi"
- # make ZEND_EXTRA_LIBS='-liconv'
- # make test
- # make install
- 需要指定的目录 一个是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
源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)的更多相关文章
- 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)
写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...
- [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程
标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...
- 源码编译安装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目录下 ...
- [环境配置]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 GT ...
- centos7.2 源码编译安装php7.2.4 apache2.4.37 https证书安装
一.php7.2.11源码安装 1.下载php7.2.11 wget http://cn2.php.net/downloads.php/php-7.2.11.tar.gz#### 2.安装依赖 yum ...
- ambari 2.5.0源码编译安装
参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/index.html Ambari 是什么 Ambar ...
- 源码编译安装MySQL8.0.20
1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...
- 源码编译安装MySQL8.0
源码编译安装MySQL8.0 0.前期准备条件 查看linux的版本 [root@mysql etc]# cat /etc/redhat-release CentOS Linux release 7. ...
- centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装
centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装 安装前请检查好erlang和rabbitmq版本是否相匹配参考:RabbitMQ Erlang V ...
随机推荐
- Android得到控件在屏幕中的坐标
getLocationOnScreen ,计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标 getLocationInWi ...
- java设计模式--创建型模式--抽象工厂
什么是抽象工厂,再次学习. 抽象工厂 概述 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 适用性 1.一个系统要独立于它的产品的创建.组合和表示时. 2.一个系统要由多个产品系 ...
- NLS_LANG SIMPLIFIED CHINESE_CHINA.AL32UTF8 和american_america.AL32UTF8
oadb01:/home/oracle> echo $NLS_LANG SIMPLIFIED CHINESE_CHINA.AL32UTF8 oadb01:/home/oracle> sql ...
- 【剑指offer】面试题32:从1到n整数中1出现的次数
题目: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.A ...
- Uninstall or Disable Java on a Mac
You can run Java apps in two ways. The first is to run Java applets inside your Web browser with a p ...
- openldap---ldapsearch使用
ldapsearch 參数表 下表描写叙述能够用于 ldapsearch 的区分大写和小写的參数. 參数 用途 -? 打印关于使用 ldapsearch 的帮助. -a deref 指定别名反向引用. ...
- hbase单机安装
1.网上内容比较混乱,其实安装单机hbase只需要安装hbase即可 2.把hbase-0.xxx.tart.gz 拷贝到/opt/hbase文件及下(这是安装目录,可自定义) 2.1 tar xfz ...
- js中取session的值
在js中貌似不能取session的值,我在后台设置的session一直拿不到,于是用间接的方式拿到session的值. 首先在jsp中嵌入java代码,用java设置一个变量来取session值,再在 ...
- IOS上 关于状态栏的相关设置(UIStatusBar)
知识普及 ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分: 背景部分:就是显示黑色或者图片的背景部分: 如 ...
- Linux下Samba的配置
前言: 为了实现windows 和 Linux以及其它操作系统之间的资源共享,软件商推出nfs 和samba两种解决方案.因为市场上缺乏象pc-nfs那样的client工具,使得Linux和windo ...