auto_lnmp/include/opcache.sh
2021-08-19 06:35:24 +08:00

107 lines
3.0 KiB
Bash

#!/usr/bin/env bash
Install_Old_Opcache()
{
cd ${cur_dir}/src
if [ -d "${ZendOpcache_Ver}" ]; then
rm -rf "${ZendOpcache_Ver}"
fi
Download_Files ${Download_Mirror}/web/opcache/${ZendOpcache_Ver}.tgz ${ZendOpcache_Ver}.tgz
Tar_Cd ${ZendOpcache_Ver}.tgz ${ZendOpcache_Ver}
${PHP_Path}/bin/phpize
./configure --with-php-config=${PHP_Path}/bin/php-config
make
make install
cd ../
}
Install_Opcache()
{
Echo_Red "Install Opcache will auto uninstall eAccelerator if exists..."
echo "====== Installing zend opcache ======"
Press_Start
echo "Uninstall eAccelerator..."
rm -f ${PHP_Path}/conf.d/004-opcache.ini
Addons_Get_PHP_Ext_Dir
zend_ext="${zend_ext_dir}opcache.so"
if echo "${Cur_PHP_Version}" | grep -Eqi '^5.[234].'; then
if [ -s "${zend_ext}" ]; then
rm -f "${zend_ext}"
fi
fi
if echo "${Cur_PHP_Version}" | grep -Eqi '^5.2.'; then
echo "Zend Opcache do NOT SUPPORT PHP 5.2.* and lower version of php 5.3"
sleep 1
exit 1
elif echo "${Cur_PHP_Version}" | grep -Eqi '^5.3.'; then
if echo ${Cur_PHP_Version} | grep -vEqi '^5.3.2[0-9]';then
echo "If PHP under version 5.3.20, we do not recommend install opcache, it maybe cause 502 Bad Gateway error!"
sleep 3
exit 1
fi
Install_Old_Opcache
elif echo "${Cur_PHP_Version}" | grep -Eqi '^5.4.'; then
echo "${Cur_PHP_Version}"
Install_Old_Opcache
elif echo "${Cur_PHP_Version}" | grep -Eqi '^5.[56].' || echo "${Cur_PHP_Version}" | grep -Eqi '^7.'; then
cat >${PHP_Path}/conf.d/004-opcache.ini<<EOF
[Zend Opcache]
zend_extension="opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
EOF
elif echo "${Cur_PHP_Version}" | grep -Eqi '^8.'; then
cat >${PHP_Path}/conf.d/004-opcache.ini<<EOF
[Zend Opcache]
zend_extension="opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.jit = 1255
opcache.jit_buffer_size = 64M
EOF
else
echo "Error: can't get php version!"
echo "Maybe php was didn't install or php configuration file has errors.Please check."
sleep 3
exit 1
fi
echo "Copy Opcache Control Panel..."
\cp ${cur_dir}/conf/ocp.php ${Default_Website_Dir}/ocp.php
Restart_PHP
if [ -s "${zend_ext}" ]; then
Echo_Green "====== Opcache install completed ======"
Echo_Green "Opcache installed successfully, enjoy it!"
exit 0
else
rm -f ${PHP_Path}/conf.d/004-opcache.ini
Echo_Red "OPcache install failed!"
exit 1
fi
}
Uninstall_Opcache()
{
echo "You will uninstall opcache..."
Press_Start
rm -f ${PHP_Path}/conf.d/004-opcache.ini
Restart_PHP
Echo_Green "Uninstall Opcache completed."
}