安装PHP扩展时解压官方 tgz 文件后没有configure文件

安装PHP扩展时解压官方 tgz 文件后没有 configure 文件

在安装PHP的时候,我们经常需要安装一些扩展,在安装的过程中,我们有时会遇到官方 tgz 文件没有 configure 文件的情况。这时就需要了解一些基础知识,来进行安装。

1. tgz 文件的结构

在解压 tgz 文件时,我们先来看其结构。一般 tgz 文件的结构如下:

php-7.4.14.tar.gz

├── configure

├── ext

├── ...

├── main

├── ...

├── sapi

├── ...

└── Zend

├── ...

其中 configure 文件是用来编译安装的,ext 目录存放扩展,main、sapi、Zend 等目录是 PHP 源代码的各个部分。

2. 安装扩展的方法

当我们要安装一个扩展时,我们需要首先解压得到一个包含 ext 目录的 tgz 文件,例如 phpredis。

$ tar -xzvf phpredis-5.3.2.tgz

解压后,我们可以看到 ext 目录,进入该目录并运行 phpize;

$ cd phpredis-5.3.2/ext/

$ /usr/local/php/bin/phpize

这时会生成 configure 文件,然后我们运行 configure。

$ ./configure --with-php-config=/usr/local/php/bin/php-config

configure 脚本一般用于检查系统环境和生成 Makefile,如果一切正常,我们可以继续进行编译。

$ make && make install

编译完成后,我们需要在 php.ini 文件中添加扩展:

extension=redis

最后重启 PHP 生效。

3. 没有 configure 文件怎么办?

当我们在解压 tgz 文件时,发现里面并没有 configure 文件怎么办?我们可以从已经安装的 PHP 中获得相应的 phpize 和 php-config 工具,从而重新生成 configure 文件。

首先,我们需要查找 phpize 和 php-config 工具的安装路径。

$ whereis phpize

$ whereis php-config

然后将其复制到当前目录下。

$ cp /usr/local/php/bin/phpize .

$ cp /usr/local/php/bin/php-config .

接下来,我们运行 phpize,就可以生成 configure 文件。

$ ./phpize

运行 configure 和 make 的方法同上。

4. 总结

当解压 tgz 文件后没有 configure 文件时,我们可以通过已经安装的 PHP 中的 phpize 和 php-config 工具生成 configure 文件,然后进行编译安装。不过,需要注意的是,由于 PHP 版本的差异可能会导致生成的 configure 文件无法编译通过。因此,为了避免这种情况,我们在安装 PHP 时应该尽量选择官方提供的二进制版本。

后端开发标签