Linux下PHP插件自动编译脚本

注意:如果你不是闲的蛋疼,你可以用apt或者yum等包管理自动安装。。。

需要手动安装的看这里Linux下手动编译为PHP添加扩展

首先,必须的按照那篇文所说,先准备好源码包,然后在ext目录里建立build.sh文件加入脚本内容(或者直接下载本文附件)

脚本内容中需要自行替换的部分有

  1. sourceDir=插件源码目录ext路径(必须以/结尾)
  2. phpDir=PHP安装目录(必须以/结尾)
  3. extension_dir=PHP插件目录(必须以/结尾,不知道请用phpinfo看)

脚本内容如下

#!/bin/bash

set -e

sourceDir="/usr/local/src/php-5.6.14/ext/"
phpDir="/usr/local/php/"
extension_dir=${phpDir}lib/php/extensions/

echo -e sourceDir is: ${sourceDir} 
echo -e phpDir is: ${phpDir} 
echo -e extension_dir is: ${extension_dir} 

cd ${sourceDir}

echo input a extension name:
read extName
echo ${sourceDir}${extName}
cd ${sourceDir}${extName}


# rename config0.m4 to config.m4
if [ ! -f config.m4 ]; then
    if [ -f config0.m4 ]; then
        mv config0.m4 config.m4
    else
        exit 1
fi

# generate configure
${phpDir}bin/phpize

# run .configure
./configure --with-php-config=${phpDir}bin/php-config

# make 
make
echo Build Completely.

# copy to php extension_dir
cp ./modules/* ${extension_dir}
echo Copy Completely.
make clean
echo -e Please add \`extension=${extName}.so\` to your php.ini
exit 0

然后运行./build.sh
输入插件名回车(必须与ext中目录名相同,大小写敏感)
即可自动编译并复制到插件目录,如果中途出现错误会中断,需要自行查看错误并解决
一次只能一个,可能以后有空会优化(FLAG已立)。。
最后还要把插件加入php.ini(必不可少)

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

请我喝杯咖啡吧~

支付宝
微信