如何支持自定义安装的高版本openssl库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何支持自定义安装的高版本openssl库相关的知识,希望对你有一定的参考价值。
1. Python官网下载源码包(version 2.7.8)并解压2. 通过configure配置Makefile参数
假定先前已在/home/slvher/tools/openssl-1.0.1j路径下成功安装好高版本openssl,那么,可以通过下面的环境变量来设置gcc的编译/链接参数:
export LDFLAGS="-lssl -lcrypto -Wl,-rpath=/home/slvher/tools/openssl-1.0.1j/lib/" export CPPFLAGS="-I/home/slvher/tools/openssl-1.0.1j/include"
然后运行configure工具:
./configure --prefix=/home/slvher/tools/Python-2.7.8
configure运行完后,会生成Makefile,check无误后,执行make && make install就能完成Python安装。
3. 验证Python支持的ssl版本
Python安装成功且其bin路径加入PATH环境变量后,可通过下面的命令来验证是否正确支持高版本的openssl库:
python -c "import ssl; print ssl.OPENSSL_VERSION"
例如我机器上的输出结果如下:
OpenSSL 1.0.1j 15 Oct 2014 参考技术A openssl多数和lighttpd、apache等结合使用。安装openssl库应该不难,我不知道你用什么版本的linux,像debian就用apt-get install openssl,ubuntu用sudo apt-get install openssl。其他版本的安装包也都差不多,大同小异。
默认加载自定义安装的 PHP
【中文标题】默认加载自定义安装的 PHP【英文标题】:Loading custom installed PHP as default 【发布时间】:2015-02-14 20:35:55 【问题描述】:我已经使用php-osx 安装了最新版本的 PHP,它在我的 apache Web 服务器上按预期工作。但问题是当我尝试在 Laravel 中运行 artisan
命令时,它会要求 mcrypt
模块才能运行该命令。或者当我尝试通过homebrew
安装Composer
时,它会要求openssl
模块。尽管 mcrypt 和 openssl 都在 phpinfo()
中启用。所以我的猜测是终端中的 php 命令与 apache 中加载的 php 不同。这就是我的/etc/paths
文件的样子:
/usr/local/bin
/usr/local/mysql/bin
/usr/bin
/bin
/usr/sbin
/sbin
这是echo $PATH
的输出:
/usr/local/mysql/bin
/usr/local/memcached/bin
/usr/local/bin
/usr/local/mysql/bin
/usr/bin
/bin
/usr/sbin
/sbin
有没有办法让自定义安装的php成为终端默认使用的?
【问题讨论】:
通常$PATH
环境变量取代/etc/paths,所以做一个echo $PATH
看看那里的顺序
感谢@AxelAmthor 的信息,用输出编辑了帖子。但在我看来,它与paths
文件并没有什么不同。
【参考方案1】:
你可以改变它。但是,如果您有一些使用已安装 PHP 版本的内部程序,这可能会产生一些问题。您可以使用 Mac-Port 并安装缺少的软件包。
sudo port install php5-openssl
https://www.macports.org/
【讨论】:
【参考方案2】:你会更适合 Laravel Homestead,它已经提供了在 Vagrant Box 中运行 Laravel 所需的一切
http://laravel.com/docs/4.2/homestead
【讨论】:
以上是关于如何支持自定义安装的高版本openssl库的主要内容,如果未能解决你的问题,请参考以下文章
不推荐使用属性“security.basic.enabled”:不再可自定义安全自动配置