一键安装php5.6.40脚本(LAMP环境)
2024-09-06 09:41:31
#!/bin/bash #安装依赖软件
yum -y install libxml2-devel curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel net-snmp net-snmp-devel #安装libiconv-1.14(下面使用sed增加2行,不增加会报错,详细查看www.cnblogs.com/blog-tim/p/10537708.html)
cd /usr/local/src/
wget -c http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -xf libiconv-1.14.tar.gz
sed -i '697a #if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)' /usr/local/src/libiconv-1.14/srclib/stdio.in.h
sed -i '699a #endif' /usr/local/src/libiconv-1.14/srclib/stdio.in.h
cd libiconv-1.14
./configure --prefix=/usr/local/php/libiconv && make && make install #安装libmcrypt-2.5.8
cd /usr/local/src/
wget -c http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar -xf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure && make && make install
/sbin/ldconfig && cd libltdl/
./configure --enable-ltdl-install && make && make install #安装mhash-0.9.9.9
cd /usr/local/src/
wget -c http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
tar -xf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure && make && make install #安装mcrypt-2.6.8
cd /usr/local/src/
wget -c http://nchc.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar -xf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
/sbin/ldconfig && export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH
./configure && make && make install #编译安装php-5.6.40
cd /usr/local/src/
wget -c http://jp2.php.net/distributions/php-5.6.40.tar.gz
tar -xf php-5.6.40.tar.gz
cd php-5.6.40
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-iconv=/usr/local/php/libiconv --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-jpeg-dir --with-png-dir --with-pear --with-freetype-dir --with-zlib --with-libxml-dir --with-iconv-dir --with-xmlrpc --with-mhash --with-mcrypt --with-curl --with-openssl --with-snmp --with-gettext --enable-pdo --enable-mbstring --enable-ctype --enable-simplexml --enable-ftp --enable-sockets --enable-gd-native-ttf --enable-sysvsem --enable-exif --enable-sysvshm --enable-xml --enable-dom --enable-simplexml --enable-shmop --enable-zip --enable-mbregex --enable-bcmath --enable-inline-optimization --enable-soap
make && make install #配置php和环境变量,关闭httpd服务
cp /usr/local/src/php-5.6.40/php.ini-production /usr/local/php/etc/php.ini
echo "export PATH=/usr/local/php/bin:$PATH" >>/etc/profile
source /etc/profile
killall -9 httpd #配置php首页,然后重新启动httpd服务
rm -f /var/www/html/index.html
cat > /var/www/html/index.php << EOF
<?php
phpinfo()
?>
EOF
/usr/local/apache/bin/apachectl start
安装完成后需检查apache主配置文件httpd.conf 中是否有增加 libphp5.so 模块内容
LoadModule php5_module modules/libphp5.so #<===编译安装PHP完成后会自动在apache主配置文件httpd.conf中产生此行
测试php5.6.40链接MySQL5.6.43是否成功,新建test.php文件到站点目录下,添加以下内容测试
[root@lamp html]# cat test.php
<?php
$servername = "10.0.0.3:3306";
$username = "oldboy";
$password = "123456";
$dbname = "mysql";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . mysqli_connect_error());
}else{
echo "this is connected";
}
?>
打开浏览器测试链接成功
注意:此脚本适用于LAMP环境,php在apache中以模块形式插入调用,而LNMP中php是进程方式运行!
最新文章
- 【JUC】JDK1.8源码分析之CyclicBarrier(四)
- 如何保证ArrayList线程安全
- maven里的modelVersion
- FPGA中的INOUT接口和高阻态
- ADO.NET基础01(ADO.NET组成,数据库的方式,SqlCommand,SqlDataReader)
- [置顶] jeecg-framework-3.3.2-RELEASE 最新版本发布
- Mybatis之动态构建SQL语句
- C# 使用 Lotus notes 公共邮箱发送邮件
- GridControl的常用操作
- 【Android 应用开发】 Fragment 详解
- hdu1256
- ThinkPHP缓存技术(S(),F(),查询缓存,静态缓存)
- 计算概论(A)/基础编程练习(数据成分)/3:整数的个数
- SpringWeb项目常用注解简单介绍
- SDK Manager.exe和AVD Manager.exe缺失,Android SDK Tools在检查java环境时卡住了,未响应卡死!
- CSRF攻击的应对之道
- C#学习历程(五)[高阶概念]
- Personal Introduction
- aria2 on ubuntu
- 克隆DOM元素 ele.cloneNode();