招财进宝小喇叭 發表於 2021-5-20 07:33:00

php添加openssl扩展

<h1 id="第一步">第一步</h1>
<p>找到与已安装php版本相同的源代码包,(使用 <code>php --version</code> 查看php版本)</p>
<p>如果之前有源代码包,直接解压,没有网上下载相同版本后再解压。</p>
<p>使用命令:<code>tar -zxvf xxxx.tar.gz</code></p>
<h1 id="第二步">第二步</h1>
<p>进入解压后的目录,会看到一个 <code>ext</code> 的目录,进入该目录,其中有一个 <code>openssl</code> 目录,如下图所示</p>
<img src="https://img2020.cnblogs.com/blog/1303876/202105/1303876-20210520071947380-405461656.png" width="700px">
<h1 id="第三步">第三步</h1>
<p>进入 <code>openssl</code> 目录,执行如下命令</p>
<pre><code class="language-bash"># /usr/local/php/bin/phpize   //视自己的安装环境而定,找到自己已安装php中的phpize
Cannot find config.m4.                               //提示找不到config.m4文件,执行如下mv操作
Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module
# ls
config0.m4config.w32CREDITSopenssl.copenssl.makphp_openssl.hREADMEtestsxp_ssl.c
# mv config0.m4 config.m4       //将目录中的config0.m4直接改名为config.m4
# /usr/local/php/bin/phpize   //再执行一次
Configuring for:
PHP Api Version:         20210520
Zend Module Api No:      20210520
Zend Extension Api No:   320210520
</code></pre>
<h1 id="第四步">第四步</h1>
<p>执行完上面的步骤后,会看到 <code>openssl</code> 目录中生成了 <code>configure</code> 文件,如下图</p>
<img src="https://img2020.cnblogs.com/blog/1303876/202105/1303876-20210520072351609-815454308.png" width="700px">
<p>接着执行如下命令:</p>
<pre><code class="language-bash"># ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
...
...   //此处省略部分执行过程
   
//configure完后,接着make编译,部分代码如下:
# make
/bin/sh /usr/src/lamp/php-7.1.9/ext/openssl/libtool --mode=compile cc-I. -I/usr/src/lamp/php-7.1.9/ext/openssl -DPHP_ATOM_INC -I/usr/src/lamp/php-7.1.9/ext/openssl/include -I/usr/src/lamp/php-7.1.9/ext/openssl/main -I/usr/src/lamp/php-7.1.9/ext/openssl -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib-DHAVE_CONFIG_H-g -O2   -c /usr/src/lamp/php-7.1.9/ext/openssl/openssl.c -o openssl.lo
mkdir .libs
cc -I. -I/usr/src/lamp/php-7.1.9/ext/openssl -DP
...
...    //此处省略部分执行过程

//make编译过程完后,执行make install 安装过程
# make install
Installing shared extensions:   /usr/local/php/lib/php/extensions/no-debug-zts-20210520/    //生成的openssl.so文件的目录位置,视自己php环境而定
</code></pre>
<h1 id="第五步">第五步</h1>
<p>编辑 <code>php.ini</code> 文件</p>
<pre><code class="language-bash">vim /usr/local/php/etc/php.ini
//开启extension_dir选项,并指定扩展文件存放目录
//配置文件中默认如下所示
;extension_dir='./'
//开启并配置如下所示
extension_dir='/usr/local/php/etc/extension'   //自己指定
</code></pre>
<p>如下图所示</p>
<img src="https://img2020.cnblogs.com/blog/1303876/202105/1303876-20210520072816107-1436203627.png" width="700px">
<h1 id="第六步">第六步</h1>
<p>将第四步中 <code>openssl.so</code> 文件拷贝到第五步中 <code>extension_dir</code> 指定的目录中(或者直接使用生成的地址),如下图所示</p>
<img src="https://img2020.cnblogs.com/blog/1303876/202105/1303876-20210520072959052-390552302.png" width="700px">
<h1 id="第七步">第七步</h1>
<p>编辑 <code>php.ini</code> 文件,开启 <code>openssl</code> 扩展,在 <code>php.ini</code> 文件末尾添加如下代码</p>
<pre><code class="language-bash">extension=openssl.so
</code></pre>
<p>保存并退出,重启 <code>php-fpm</code>,测试如下图所示表示成功<br>
<img src="https://img2020.cnblogs.com/blog/1303876/202105/1303876-20210520073159509-429798386.png" alt="" loading="lazy"></p><br><br>
来源:https://www.cnblogs.com/niuben/p/14788349.html
頁: [1]
查看完整版本: php添加openssl扩展