Ai
3 Star 23 Fork 6

Arjun/ollnmp
暂停

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
php.sh 7.36 KB
一键复制 编辑 原始数据 按行查看 历史
18818701315@163.COM 提交于 2019-04-13 01:41 +08:00 . 提交初始化代码
#!/bin/bash
init_php_user(){
pkill php
if [ ! -d "/usr/local/php" ]; then
mkdir /usr/local/php
fi
cd /usr/local/php
groupadd -r www && useradd -r -g www -s /bin/false -d /usr/local/php -M www
}
init_php_export(){
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel bzip2-devel libjpeg-devel libpng-devel libmcrypt-devel fretype freetype-devel epel-release libmcrypt-devel expat-devel perl perl-devel apr-devel apr-util-devel httpd-devel autoconf
}
init_php_code(){
if [ ! -f "$source_dir/lib/${phpTarName}.tar.gz" ];then
echo "not found $source_dir/lib/${phpTarName}.tar.gz"
exit 0
fi
cd $source_dir/lib/
tar -zxvf ${phpTarName}.tar.gz
cd ${phpTarName}
./buildconf --force
./configure --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-config-file-path=/usr/local/etc
make
make install
}
init_php_conf(){
cd $source_dir/lib/${phpTarName}
cp php.ini-production /usr/local/etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
# update /etc/init.d/php-fpm
sed -i 's/php_fpm_PID\=\${prefix}\/var\/run\/php-fpm.pid/php_fpm_PID\=\/var\/run\/php-fpm.pid/g' /etc/init.d/php-fpm
# update /usr/local/etc/php-fpm.conf
sed -i 's/\;pid \= run\/php-fpm.pid/pid \= \/var\/run\/php-fpm.pid/g' /usr/local/etc/php-fpm.conf
sed -i 's/\;error_log \= log\/php-fpm.log/error_log \= \/var\/log\/php-fpm\/error.log/g' /usr/local/etc/php-fpm.conf
sed -i 's/include\=NONE\/etc\/php-fpm.d\/\*.conf/include\=\/usr\/local\/etc\/php-fpm.d\/*.conf/g' /usr/local/etc/php-fpm.conf
# update /usr/local/etc/php.ini
# 替换字符串
sed -i 's/\;expose_php \= On/expose_php \= Off/g' /usr/local/etc/php.ini
sed -i 's/\;date.timezone \=/date.timezone \= PRC/g' /usr/local/etc/php.ini
# 追加
php_extensions=$(ls -l /usr/local/lib/php/extensions/ |awk '/^d/ {print $NF}')
grep 'extension_dir = "/usr/local/lib/php/extensions' /usr/local/etc/php.ini > /dev/null
if [ $? -eq 1 ]; then
echo "extension_dir = \"/usr/local/lib/php/extensions/${php_extensions}\"" >> /usr/local/etc/php.ini
fi
# 替换行
sed -i 's#^upload_max_filesize =.*#upload_max_filesize = 100M#g' /usr/local/etc/php.ini
sed -i 's#^post_max_size =.*#post_max_size = 100M#g' /usr/local/etc/php.ini
sed -i 's#^max_file_uploads =.*#max_file_uploads = 100#g' /usr/local/etc/php.ini
sed -i 's#^disable_functions =.*#disable_functions =#g' /usr/local/etc/php.ini
}
init_php_rights(){
if [ ! -d "/var/log/php-fpm/" ]; then
mkdir -p /var/log/php-fpm/
fi
if [ ! -d "/var/lib/php/session" ];then
mkdir -p /var/lib/php/session
fi
chown -R www:www /var/lib/php
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig --level 3 php-fpm on
chkconfig php-fpm on
}
install_ext_pcntl(){
if [ -d "${source_dir}/lib/${phpTarName}/ext/pcntl" ]; then
cd ${source_dir}/lib/${phpTarName}/ext/pcntl
echo ${source_dir}/lib/${phpTarName}/ext/pcntl;
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make
make install
grep 'extension="pcntl.so"' /usr/local/etc/php.ini > /dev/null
if [ $? -eq 1 ]; then
echo 'extension="pcntl.so"' >> /usr/local/etc/php.ini
fi
fi
}
install_ext_openssl(){
if [ -d "${source_dir}/lib/${phpTarName}/ext/openssl" ]; then
cd ${source_dir}/lib/${phpTarName}/ext/openssl
if [ ! -f "config.m4" ]; then
cp config0.m4 config.m4
fi
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make
make install
grep 'extension="openssl.so"' /usr/local/etc/php.ini > /dev/null
if [ $? -eq 1 ]; then
echo 'extension="openssl.so"' >> /usr/local/etc/php.ini
fi
fi
}
install_ext_curl(){
if [ -d "${source_dir}/lib/${phpTarName}/ext/curl" ]; then
cd ${source_dir}/lib/${phpTarName}/ext/curl
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make
make install
grep 'extension="curl.so"' /usr/local/etc/php.ini > /dev/null
if [ $? -eq 1 ]; then
echo 'extension="curl.so"' >> /usr/local/etc/php.ini
fi
fi
}
install_ext_pdo(){
if [ -d "${source_dir}/lib/${phpTarName}/ext/pdo" ]; then
cd ${source_dir}/lib/${phpTarName}/ext/pdo
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make
make install
grep 'extension="pdo_mysql.so"' /usr/local/etc/php.ini > /dev/null
if [ $? -eq 1 ]; then
echo 'extension="pdo_mysql.so"' >> /usr/local/etc/php.ini
fi
fi
}
install_ext_sockets(){
if [ -d "${source_dir}/lib/${phpTarName}/ext/sockets" ]; then
cd ${source_dir}/lib/${phpTarName}/ext/sockets
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make
make install
grep 'extension="sockets.so"' /usr/local/etc/php.ini > /dev/null
if [ $? -eq 1 ]; then
echo 'extension="sockets.so"' >> /usr/local/etc/php.ini
fi
fi
}
install_ext_zip(){
if [ -d "${source_dir}/lib/${phpTarName}/ext/zip" ]; then
cd ${source_dir}/lib/${phpTarName}/ext/zip
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make
make install
grep 'extension="zip.so"' /usr/local/etc/php.ini > /dev/null
if [ $? -eq 1 ]; then
echo 'extension="zip.so"' >> /usr/local/etc/php.ini
fi
fi
}
install_ext_zlib(){
if [ -d "${source_dir}/lib/${phpTarName}/ext/zlib" ]; then
cd ${source_dir}/lib/${phpTarName}/ext/zlib
cp config0.m4 config.m4
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make
make install
grep 'extension="zlib.so"' /usr/local/etc/php.ini > /dev/null
if [ $? -eq 1 ]; then
echo 'extension="zlib.so"' >> /usr/local/etc/php.ini
fi
fi
}
install_ext_redis(){
if [ ! -f "$source_dir/lib/phpredis-4.1.0RC3.tar.gz" ]; then
echo "not found $source_dir/phpredis-4.1.0RC3.tar.gz"
exit 0
fi
cd $source_dir/lib
tar -zxvf phpredis-4.1.0RC3.tar.gz
if [ ! -d "/usr/local/php/ext/redis" ]; then
mkdir -p /usr/local/php/ext/redis
fi
\cp $source_dir/lib/phpredis-4.1.0RC3/* /usr/local/php/ext/redis -rf
cd /usr/local/php/ext/redis
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make
make install
grep 'extension="redis.so"' /usr/local/etc/php.ini > /dev/null
if [ $? -eq 1 ]; then
echo 'extension="redis.so"' >> /usr/local/etc/php.ini
fi
}
start_php(){
service php-fpm start
}
restart_php(){
service php-fpm restart
}
init_php_user
init_php_export
init_php_code
init_php_conf
init_php_rights
start_php
install_ext_pcntl
install_ext_openssl
install_ext_curl
install_ext_pdo
install_ext_sockets
install_ext_zip
install_ext_zlib
install_ext_redis
restart_php
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/SimplerWorker/ollnmp.git
git@gitee.com:SimplerWorker/ollnmp.git
SimplerWorker
ollnmp
ollnmp
master

搜索帮助