Created
July 14, 2019 16:20
-
-
Save jk2K/c6dfd87f2eeaa5deb12e48edb0d7af65 to your computer and use it in GitHub Desktop.
编译安装 php
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
function get_filename_from_url() { | |
download_url=$1 | |
file_with_query_params=$(echo "${download_url##*/}") | |
file=$(echo "${file_with_query_params%%\?*}") | |
echo ${file} | |
} | |
php_download_url='http://xx.com/php-7.3.7.tgz' | |
php_filename=$(get_filename_from_url ${php_download_url}) | |
php_filename_no_ext=$(echo "${php_filename%.*}") | |
echo ${php_filename} | |
echo ${php_filename_no_ext} | |
# 依赖 zlib libjpeg freetype curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel gd-devel curl-devel libxslt libxslt-devel libzip rsync | |
function download_package() | |
{ | |
software_name=$1 | |
download_url=$2 | |
filename=$3 | |
# 可能不存在的变量得放最后 | |
local_archive_path=$4 | |
if [[ -z "${local_archive_path}" ]]; then | |
# 非本地安装 | |
cd /export/servers | |
#download | |
curl ${download_url} --output ${filename} | |
if [[ $? -eq 0 ]]; then | |
echo -e "\033[42m ######Download ${software_name} Successful###### \033[0m" | |
else | |
echo -e "\033[31m ######Download ${software_name} Error,Pls Check!!!###### \033[0m" | |
exit | |
fi | |
else | |
# 本地安装 | |
download_url=${local_archive_path} | |
filename=$(get_filename_from_url ${download_url}) | |
filename_no_ext=$(echo "${filename%.*}") | |
cp ${local_archive_path} /export/servers | |
fi | |
} | |
function check_or_extract() | |
{ | |
software_name=$1 | |
download_url=$2 | |
filename=$3 | |
# 可能不存在的变量得放最后 | |
local_archive_path=$4 | |
ls /export/servers | grep ${software_name} | |
if [[ $? -eq 0 ]]; then | |
echo -e "\033[31m ######${software_name} Already Installed,Pls Check!!!###### \033[0m" | |
exit | |
else | |
echo -e "\033[42m ######${software_name} NOT Installed,Begin Install###### \033[0m" | |
fi | |
echo -e "\033[42m ######Start Download ${software_name}###### \033[0m" | |
cd /export/servers | |
#download python | |
download_package ${software_name} ${download_url} ${filename} ${local_archive_path} | |
#untar python | |
tar xzf ${filename}; | |
if [[ $? -eq 0 ]]; then | |
echo -e "\033[42m ######unTar ${software_name} Successful###### \033[0m" | |
else | |
echo -e "\033[31m ######unTar ${software_name} Error,Pls Check!!!###### \033[0m" | |
exit | |
fi | |
} | |
install_php() { | |
software_name="php-7.3" | |
filename=${php_filename} | |
filename_no_ext=${php_filename_no_ext} | |
download_url=${php_download_url} | |
local_archive_path="" | |
install_prefix="/export/servers/${software_name}" | |
check_or_extract ${software_name} ${download_url} ${filename} ${local_archive_path} | |
#configure | |
cd "/export/servers/${filename_no_ext}" | |
./configure --prefix=${install_prefix} \ | |
--with-fpm-user=admin \ | |
--with-fpm-group=admin \ | |
--enable-fpm \ | |
--with-curl \ | |
--with-gd \ | |
--with-jpeg-dir \ | |
--with-png-dir \ | |
--with-freetype-dir \ | |
--with-webp-dir \ | |
--with-zlib \ | |
--with-pdo-mysql \ | |
--with-openssl \ | |
--with-libdir=lib64 \ | |
--enable-mbstring \ | |
--enable-simplexml | |
#sudo make, 多核加速编译 | |
sudo make -j nproc | |
#sudo make install | |
sudo make install | |
# copy php.ini | |
sudo cp php.ini-production ${install_prefix}/lib/php.ini | |
# copy php-fpm.conf | |
sudo cp ${install_prefix}/etc/php-fpm.conf.default ${install_prefix}/etc/php-fpm.conf | |
# copy php-fpm.d/www.conf | |
sudo cp ${install_prefix}/etc/php-fpm.d/www.conf.default ${install_prefix}/etc/php-fpm.d/www.conf | |
# change listen to unix socket, set permissions for unix socket | |
sed -i 's#listen = 127.0.0.1:9000#listen = /dev/shm/php-fcgi.sock#' ${install_prefix}/etc/php-fpm.d/www.conf | |
sed -i 's#;listen.owner = admin#listen.owner = admin#' ${install_prefix}/etc/php-fpm.d/www.conf | |
sed -i 's#;listen.group = admin#listen.group = admin#' ${install_prefix}/etc/php-fpm.d/www.conf | |
#Check git Version | |
sudo /export/servers/${software_name}/sbin/php-fpm | |
/export/servers/${software_name}/sbin/php-fpm -v | |
} | |
install_php |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment