usr bin php config,编译安装php提示configure: error: /bin/sh build/config.sub failed

本文提供了一套详细的脚本,用于在Linux环境下从源码编译安装PHP 7.0.16及其相关扩展库,包括libmcrypt、mhash和mcrypt等。该脚本还配置了php-fpm以便于Web服务器使用。

很久以前问的问题哈,现在贴上自己写的编译PHP的脚本:

# 2. php安装

yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel mysql-devel

cd $basepath

# 安装libmcrypt库

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure

make

make install

cd $basepath

# 安装mhash库

tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9

./configure

make

make install

cd $basepath

# 安装mcrypt库

tar -zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8

export LD_LIBRARY_PATH=/usr/local/lib

./configure

make

make install

cd $basepath

tar -zxvf php-7.0.16.tar.gz

cd ./php-7.0.16

./configure \

--prefix=/usr/local/php7 \

--with-config-file-path=/usr/local/php7/etc \

--enable-fpm \

--with-fpm-user=www \

--with-fpm-group=www \

--with-mysqli \

--with-pdo-mysql \

--with-libdir=lib64 \

--with-iconv-dir \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir=/usr \

--enable-xml \

--disable-rpath \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--with-curl \

--enable-mbregex \

--enable-mbstring \

--with-mcrypt \

--enable-ftp \

--with-gd \

--enable-gd-native-ttf \

--with-openssl \

--with-mhash \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap \

--without-pear \

--with-gettext \

--disable-fileinfo \

--enable-maintainer-zts

make

make install

# create a link to php

ln -s /usr/local/php7/bin/php /usr/local/bin/

# write php-fpm configure

cat > /usr/local/php7/etc/php-fpm.conf <

[global]

pid = /usr/local/php/var/run/php-fpm.pid

error_log = /usr/local/php/var/log/php-fpm.log

log_level = notice

[www]

listen = /tmp/php-cgi.sock

listen.backlog = -1

listen.allowed_clients = 127.0.0.1

listen.owner = www

listen.group = www

listen.mode = 0666

user = www

group = www

pm = dynamic

pm.max_children = 60

pm.start_servers = 30

pm.min_spare_servers = 30

pm.max_spare_servers = 60

request_terminate_timeout = 100

request_slowlog_timeout = 0

slowlog = var/log/slow.log

EOF

echo 'PHP installed successfully!'

分析如下编译报错原因 Making install in tests make[6]: Entering directory '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/autoconf-2.68/tests' make[7]: Entering directory '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/autoconf-2.68/tests' make[7]: Nothing to be done for 'install-exec-am'. make[7]: Nothing to be done for 'install-data-am'. make[7]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/autoconf-2.68/tests' make[6]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/autoconf-2.68/tests' Making install in man make[6]: Entering directory '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/autoconf-2.68/man' make[7]: Entering directory '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/autoconf-2.68/man' make[7]: Nothing to be done for 'install-exec-am'. test -z "/home/lgb/sharedfile/ipc/platform/nvmp/staging_dir/host/share/man/man1" || /bin/mkdir -p "/home/lgb/sharedfile/ipc/platform/nvmp/staging_dir/host/share/man/man1" /usr/bin/install -c -m 644 ./autoconf.1 ./autoheader.1 ./autom4te.1 ./autoreconf.1 ./autoscan.1 ./autoupdate.1 ./ifnames.1 ./config.guess.1 ./config.sub.1 '/home/lgb/sharedfile/ipc/platform/nvmp/staging_dir/host/share/man/man1' make[7]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/autoconf-2.68/man' make[6]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/autoconf-2.68/man' make[5]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/autoconf-2.68' make[4]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/autoconf-2.68' mkdir -p /home/lgb/sharedfile/ipc/platform/nvmp/staging_dir/host/stamp touch /home/lgb/sharedfile/ipc/platform/nvmp/staging_dir/host/stamp/.autoconf_installed make[3]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp/tools/autoconf' make[3]: Entering directory '/home/lgb/sharedfile/ipc/platform/nvmp/tools/pkg-config' . /home/lgb/sharedfile/ipc/platform/nvmp/include/shell.sh; gzip -dc /home/lgb/sharedfile/ipc/platform/nvmp/dl/pkg-config-0.29.1.tar.gz | /bin/tar -C /home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1/.. -xf - touch /home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1/.preparedfbd9a6a7cd6e01f894e63b3e219fe612 (cd /home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1/; if [ -x configure ]; then cp -fpR /home/lgb/sharedfile/ipc/platform/nvmp/scripts/config.{guess,sub} /home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1// && ./configure --with-internal-glib --with-pc_path="/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig" --with-libiconv=gnu \ bash: -c: line 1: syntax error: unexpected end of file Makefile:52: recipe for target '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1/.configured' failed make[3]: *** [/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1/.configured] Error 1 make[3]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp/tools/pkg-config' tools/Makefile:173: recipe for target 'tools/pkg-config/compile' failed make[2]: *** [tools/pkg-config/compile] Error 2 make[2]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp' tools/Makefile:156: recipe for target '/home/lgb/sharedfile/ipc/platform/nvmp/staging_dir/target-arm-ca9-linux-uclibcgnueabihf-c440v3/stamp/.tools_install_nnnnn' failed make[1]: *** [/home/lgb/sharedfile/ipc/platform/nvmp/staging_dir/target-arm-ca9-linux-uclibcgnueabihf-c440v3/stamp/.tools_install_nnnnn] Error 2 make[1]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp' /home/lgb/sharedfile/ipc/platform/nvmp/include/toplevel.mk:203: recipe for target 'world' failed make: *** [world] Error 2
最新发布
12-10
分析如下报错原因 . /home/lgb/sharedfile/ipc/platform/nvmp/include/shell.sh; gzip -dc /home/lgb/sharedfile/ipc/platform/nvmp/dl/pkg-config-0.29.1.tar.gz | /bin/tar -C /home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1/.. -xf - touch /home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1/.preparedfbd9a6a7cd6e01f894e63b3e219fe612 (cd /home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1/; if [ -x configure ]; then cp -fpR /home/lgb/sharedfile/ipc/platform/nvmp/scripts/config.{guess,sub} /home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1// && ./configure --with-internal-glib --with-pc_path="/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig" --with-libiconv=gnu \ bash: -c: line 1: syntax error: unexpected end of file Makefile:52: recipe for target '/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1/.configured' failed make[3]: *** [/home/lgb/sharedfile/ipc/platform/nvmp/build_dir/host/pkg-config-0.29.1/.configured] Error 1 make[3]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp/tools/pkg-config' tools/Makefile:173: recipe for target 'tools/pkg-config/compile' failed make[2]: *** [tools/pkg-config/compile] Error 2 make[2]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp' tools/Makefile:156: recipe for target '/home/lgb/sharedfile/ipc/platform/nvmp/staging_dir/target-arm-ca9-linux-uclibcgnueabihf-cx50v1/stamp/.tools_install_nnnnn' failed make[1]: *** [/home/lgb/sharedfile/ipc/platform/nvmp/staging_dir/target-arm-ca9-linux-uclibcgnueabihf-cx50v1/stamp/.tools_install_nnnnn] Error 2 make[1]: Leaving directory '/home/lgb/sharedfile/ipc/platform/nvmp' /home/lgb/sharedfile/ipc/platform/nvmp/include/toplevel.mk:203: recipe for target 'world' failed make: *** [world] Error 2
12-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值