代码拉取完成,页面将自动刷新
#!/usr/bin/env bash
#
# Phalcon Framework
#
# Copyright (c) 2011-present Phalcon Team (https://phalconphp.com)
#
# This source file is subject to the New BSD License that is bundled
# with this package in the file LICENSE.txt.
#
# If you did not receive a copy of the license and are unable to
# obtain it through the world-wide-web, please send an email
# to license@phalconphp.com so we can send you a copy immediately.
#
# Authors: Andres Gutierrez <andres@phalconphp.com>
# Eduar Carvajal <eduar@phalconphp.com>
#
# Available params:
# --arch
# --phpize
# --php-config
#
# Example:
# ./install --phpize /usr/bin/phpize7.3 --php-config /usr/bin/php-config7.3 --arch 32bits
# Check best compilation flags for GCC
# By default we compile to be as compatible as possible with all processors.
# If you would like instruct the compiler to generate optimized machine code that matches the processor where it is currently running on you can set your own compile flags by exporting CFLAGS before the build.
#
# Example:
# export CFLAGS="-march=native -O2 -fomit-frame-pointer"
#
# This will generate the best possible code for that chipset but will likely break the compiled object on older chipsets.
export CC="gcc"
if [ -z "$CFLAGS" ]
then
export CFLAGS="-mtune=native -O2 -fomit-frame-pointer"
fi
export CPPFLAGS="-DPHALCON_RELEASE"
# Set defaults
ARCH=
PHPIZE_BIN=$(command -v phpize 2>/dev/null)
PHPCONFIG_BIN=$(command -v php-config 2>/dev/null)
# Translate long options to short
for arg in "$@"; do
shift
case "$arg" in
"--arch") set -- "$@" "-a" ;;
"--phpize") set -- "$@" "-i" ;;
"--php-config") set -- "$@" "-c" ;;
*) set -- "$@" "$arg"
esac
done
# Options switcher
while getopts a:i:c: opts; do
case ${opts} in
a) ARCH=${OPTARG} ;;
i) PHPIZE_BIN=${OPTARG} ;;
c) PHPCONFIG_BIN=${OPTARG} ;;
esac
done
PHP_FULL_VERSION=`${PHPCONFIG_BIN} --version`
if [ $? != 0 ]; then
echo "php-config is not installed"
exit 1
fi
if [ "${PHP_FULL_VERSION:0:1}" == "5" ]; then
echo "php 5 is no longer supported"
exit 1
fi
PHP_VERSION="php7"
# Detect possible flags
echo "int main() {}" > t.c
gcc ${CFLAGS} t.c -o t 2> t.t
if [ $? != 0 ]; then
chmod +x gcccpuopt
BFLAGS=`./gcccpuopt`
export CFLAGS="-O2 -fomit-frame-pointer $BFLAGS"
gcc ${CFLAGS} t.c -o t 2> t.t
if [ $? != 0 ]; then
export CFLAGS="-O2"
fi
fi
# Activate some gcc specific optimizations for gcc >= 4
if [ $(gcc -dumpversion | cut -f1 -d.) -ge 4 ]; then
gcc ${CFLAGS}-fvisibility=hidden t.c -o t 2> t.t && export CFLAGS="$CFLAGS -fvisibility=hidden"
fi
# gcc $CFLAGS -flto t.c -o t 2> t.t && { export CFLAGS="$CFLAGS -flto"; export LDFLAGS="$LDFLAGS $CFLAGS"; }
rm -f t.t t.c t
# Check processor architecture
if [ -z ${ARCH} ]; then
DIR="32bits"
gcc gccarch.c -o gccarch
if [ -f gccarch ]; then
P64BITS=`./gccarch`
if [ "$P64BITS" == "1" ]; then
DIR="64bits"
fi
fi
else
DIR=${ARCH}
fi
# Move to specified architecture
cd "$PHP_VERSION/$DIR"
# Clean current compilation
if [ -f Makefile ]; then
make clean
${PHPIZE_BIN} --clean
fi
# Perform the compilation
${PHPIZE_BIN}
# For some reason the libtool script being generated by autogen contains lines referring
# to "$echo message" instead of "echo message".
export echo=echo
# Detect Gentoo Linux
if [ -f /etc/gentoo-release ]; then
LIBTOOLIZE_BIN=$(command -v libtoolize 2>/dev/null)
aclocal && ${LIBTOOLIZE_BIN} --force && autoheader && autoconf
fi
# Detect macOS
if [ "$(uname -s 2>/dev/null)" = "Darwin" ]; then
LIBTOOLIZE_BIN=$(command -v glibtoolize 2>/dev/null)
aclocal && ${LIBTOOLIZE_BIN} --force && autoheader && autoconf
fi
./configure --silent --with-php-config=${PHPCONFIG_BIN} --enable-phalcon
make -s -j"$(getconf _NPROCESSORS_ONLN)"
make -s install
echo -e "\nThanks for compiling Phalcon!\nBuild succeed: Please restart your web server to complete the installation\n"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。