- php编译
compile with mysqlnd,zts
PREFIX=/opt/php/php-5.6.25-zts &&./configure --prefix=$PREFIX --with-config-file-path=$PREFIX/etc/ --with-config-file-scan-dir=$PREFIX/etc/conf.d --enable-phpdbg --enable-maintainer-zts --disable-phar --enable-debug --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd
ln -sf $PREFIX/bin/php /usr/local/bin/php-zts
ln -sf $PREFIX/bin/phpize /usr/local/bin/phpize-zts
ln -sf $PREFIX/bin/php-config /usr/local/bin/php-config-zts
ln -sf $PREFIX/bin/php-cgi /usr/local/bin/php-cgi-zts
ln -sf $PREFIX/bin/phpdbg /usr/local/bin/phpdbg-zts
ln -sf /usr/local/bin/php-zts /usr/bin/php-zts
ln -sf /usr/local/bin/phpize-zts /usr/bin/phpize-zts
ln -sf /usr/local/bin/php-config-zts /usr/bin/php-config-zts
ln -sf /usr/local/bin/php-cgi-zts /usr/bin/php-cgi-zts
ln -sf /usr/local/bin/phpdbg-zts /usr/bin/phpdbg-zts
compile without zts ,with mysqlnd
note: php thread extension: git clone https://github.com/krakjoe/pthreads
PREFIX=/opt/php/php-5.6.25 &&./configure --prefix=$PREFIX --with-config-file-path=$PREFIX/etc/ --with-config-file-scan-dir=$PREFIX/etc/conf.d --enable-phpdbg --disable-phar --enable-debug --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd
ln -sf $PREFIX/bin/php /usr/local/bin/php
ln -sf $PREFIX/bin/phpize /usr/local/bin/phpize
ln -sf $PREFIX/bin/php-config /usr/local/bin/php-config
ln -sf $PREFIX/bin/php-cgi /usr/local/bin/php-cgi
ln -sf $PREFIX/bin/phpdbg /usr/local/bin/phpdbg
ln -sf /usr/local/bin/php /usr/bin/php
ln -sf /usr/local/bin/phpize /usr/bin/phpize
ln -sf /usr/local/bin/php-config /usr/bin/php-config
ln -sf /usr/local/bin/php-cgi /usr/bin/php-cgi
ln -sf /usr/local/bin/phpdbg /usr/bin/phpdbg
编译php扩展时GCC默认将undefined symbol定义为警告或干脆不警告,导致运行时出错。
增加 CFLAGS+=” -Wall -Werror=implicit-function-declaration”到config.m4 或者
运行 ./configure CFLAGS=”-Wall -Werror=implicit-function-declaration”编译php时改变了 –with-config-file-path –with-config-file-scan-dir 这两个参数, 需要删除使用build-defs.h里“PHP_CONFIG_FILE_PATH ”“PHP_CONFIG_FILE_SCAN_DIR”宏的c中间文件 运行 rm sapi/cli/php_cli.*o main/main.*o ext/standard/info.*o main/php_ini.*o