钰清风 發表於 2019-7-5 10:55:00

php扩展安装方式

<p></p><div class="toc"><div class="toc-container-header">目录</div><ul><li>扩展安装<ul><li>php源码编译安装</li><li>PEAR、PECL</li><li>phpize 源码安装</li></ul></li></ul></div><p></p>
<h1 id="扩展安装">扩展安装</h1>
<p>以php安装swoole扩展为例。</p>
<h2 id="php源码编译安装">php源码编译安装</h2>
<p>下载源码包并编译安装</p>
<pre><code>$ wget http://cn2.php.net/distributions/php7-1.0.tar.gz
$ tar -zxvf php7-1.0.tar.gz
$ cd php7-1.0
$ ./configure --prefix=$HOME/php7/book/php7-1.0/output --enable-fpm
$ make &amp;&amp; make install
</code></pre>
<blockquote>
<p>./configure 是用来检测你的安装平台的目标特征的,并做些系统设置<br>
这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure -–prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的<br>
/usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参<br>
数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。</p>
</blockquote>
<p>参数详解:</p>
<p>--prefix=PREFIX 文件安装到PREFIX指定目录</p>
<p>--bindir=DIRECTORY 为可执行程序声明目录</p>
<p>--libdir=DIRECTORY<br>
库文件和动态装载模块的目录.缺省是   EXEC-PREFIX/lib.</p>
<p>--includedir=DIRECTORY<br>
C   和   C++   头文件的目录.缺省是   PREFIX/include.</p>
<p>--enable-syslog   启用系统日志</p>
<p>--enable-debug   所有程序和库以带有调试符号的方式编译。</p>
<blockquote>
<p>make 是用来编译的,它从Makefile中读取指令,然后编译。</p>
</blockquote>
<blockquote>
<p>make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。</p>
</blockquote>
<h2 id="pearpecl">PEAR、PECL</h2>
<p>PEAR PHP扩展与应用库(the PHP Extension and Application Repository)</p>
<p>PECL (PHP Extension Community Library),PHP的扩展库,它提供了一系列已知的扩展库,由C++等其他语言编写而成</p>
<p>Pear:是PHP的扩展代码包,所有的扩展均以PHP代码的形式出现,功能强大,安装简单,甚至可以改改就用。使用的时候,要在代码中进行Include才能够使用。</p>
<p>Pecl:是PHP的标准扩展,可以补充实际开发中所需的功能,所有的扩展都需要安装,在Windows下面以Dll的形式出现,在linux下面,需要单独进行编译,它的表现形式为根据PHP官方的标准用C语言写成,尽管源码开放但是一般人无法随意更改源码。</p>
<blockquote>
<p>Pear是PHP的上层扩展,Pecl是PHP的底层扩展。</p>
</blockquote>
<pre><code># pecl安装扩展 前提swoole必须在php官方扩展库
$ pecl install swoole
</code></pre>
<h2 id="phpize-源码安装">phpize 源码安装</h2>
<p>phpize 动态安装扩展,通过phpize以建立php的外挂模块。</p>
<pre><code> curl -o ./tmp/swoole.tar.gz https://github.com/swoole/swoole-src/archive/master.tar.gz -L &amp;&amp; \
tar zxvf ./tmp/swoole.tar.gz &amp;&amp; \
mv swoole-src* swoole-src &amp;&amp; \
cd swoole-src &amp;&amp; \
phpize &amp;&amp; \
./configure \
--enable-coroutine \    #启用协程
--enable-openssl\   #启用openssl
--enable-http2\       #启用http2
--enable-async-redis \#启用异步redis
--enable-sockets \      #启用sockets
--enable-mysqlnd &amp;&amp; \   #启用mysqlnd   
make clean &amp;&amp; make &amp;&amp; sudo make install
</code></pre><br><br>
来源:https://www.cnblogs.com/followyou/p/11136991.html
頁: [1]
查看完整版本: php扩展安装方式