分享ubuntu 64 server 干净环境安装php5.3.10+mysql5.5.20+apache2.2.22(完)解决思路
分享ubuntu 64 server 干净环境安装php5.3.10+mysql5.5.20+apache2.2.22(完)
最近php 出了几个大的安全隐患,在熟悉了yum 和 apt-get install 这些懒人安装模式后,逐渐的忘记了以前配置和编译环境的事情,昨天因为changjay同学说能不能提供一些安装过程,看了看我们板块这方面的文章也少,花了一下午和一晚上时间终于把裸机(只有系统的ubuntu 64 server 11.10) 装上了最新的php apache mysql 其中用到的各种扩展模块 全部都是最新的版本。
因为是裸机 需要安装各种缺失的组件,实际上如果对自己的系统比较熟悉(以前安装模块位置很清楚),仅仅是升级php的话,顺利一次过 这个时间不会超过半个小时(实际上时间最多是10分钟)。剩下的时间都花在下载,找压缩包,以及配置错误重新配置编译上了。其中有一个文件存在bug 在gcc-4.6.1 语法错误的严格检查下报错,根据出错的提示,修改该c文件后顺利编译。
注:本文#符号代表在root 权限下操作提示符,#号后跟指令
直接说升级安装吧,因为安装升级新版本只需要重新编译一下新版本就可以了,升级之前需要将已经安装的模块列出来,以及安装的位置给记录清楚,可以通过echo phpinfo();来查看旧版本安装了什么扩展.
下载最新版本php
http://www.php.net/downloads.php
我下载的文件是
php-5.3.10.tar.gz
#tar -zxf php-5.3.10.tar.gz
#cd php-5.3.10
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/opt/mysql/server-5.5/ --with-curl=/usr/local/curl --enable-ftp --with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg8/ --with-zlib-dir=/usr/lib --with-png-dir=/usr/lib --with-freetype-dir=/usr/local/freetype
这里如果照抄应该是不行的,因为除非你安装的路径和所有模块都一致,所以你参照我的配置 可以自己修改一下,一个是路径位置,另外一个是一些不需要的扩展。
这里稍微的解释一下配置参数的意思.
--prefix= 这里设置的是安装的位置
--with- 后面跟的是模块 模块后跟的=是模块已经编译安装好的路径
#make;make install
顺利的话编译完成安装好就可以了,因为配置文件都已经存在,也不需要进行修改,除非是从很旧的版本升级上来有参数需要变动的。
====================
下面是裸机安装整个环境的过程,可能有的忘记了,我慢慢回忆,将过程补充完整。
1.安装apache
比较简单,不需要太多的配置
下载最新稳定版本
#wget http://mirror.bjtu.edu.cn/apache//httpd/httpd-2.2.22.tar.bz2
#tar -zxf httpd-2.2.22.tar.bz2
#cd httpd-2.2.22
# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite
# make;make install
如果没有安装wget 需要先安装wget工具.
#apt-get install wget
实际上我很少使用 wget,当然顺带的推荐一下 aria2
#apt-get install aria2
使用方法
#aria2c -t x http://xxxxx
x 为多少个线程,自动支持断点继传,万一有事出门,关了电脑,下次继续使用这个指令他会自动从上次中断位置开始.
如果像我一样是裸机安装的话可能会有缺少某些环境的错误提示,发现什么就给装上什么,提示 gcc 不存在 那么 apt-get install gcc
这些编译环境我就直接用apt-get 了.这个还要自己编译的话那就太耗时间了。
安装好后,暂时不需要去启动apache.因为我们还有很多工作要做。
2.安装php以及各种需要使用的库
如果是升级php的话就一般不需要折腾这个步骤了。一般的库都轻松解决,不过也有碰上比较麻烦的,例如GD库。
a.安装GD库 -让php支持gif,png,jpeg格式
GD库需要以下模块的支持
jpeg8,libpng,freetype
首先是 jepg8 (网上大多数使用的是jepg6版本,此为最新模块)
#aria2ch -t 3 ttp://www.ijg.org/files/jpegsrc.v8d.tar.gz
#tar -zxf jpegsrc.v8d.tar.gz
#cd jpeg-8d
#./configure --prefix=/usr/local/jpeg8/ --enable-shared --enable-static
#make;make install
其次是 libpng
http://sourceforge.net/projects/libpng/files/libpng16/1.6.0beta10/libpng-1.6.0beta10.tar.gz/download
使用浏览器打开地址下载(网上大多是旧的1.2x版本,这里是最新的模块)
#tar -zxf libpng-1.6.0beta10.tar.gz
#cd libpng-1.6.0beta10
#cp ./scripts/makefile.std makefile
注意这里不需要配置,直接复制文件就可以了
#make; make install
最后是freetype
# wget http://cdnetworks-kr-1.dl.sourceforge.net/project/freetype/freetype2/2.4.8/freetype-2.4.8.tar.bz2
这是最新的版本
#bzip2 -d freetype-2.4.8.tar.bz2
#tar -xvf freetype-2.4.8.tar
#cd freetype-2.4.8
#./configure --prefix=/usr/local/freetype
#make; make install
现在需要的三个模块都已经编译好了,
正式开始安装GD库
#wget https://bitbucket.org/pierrejoye/gd-libgd/get/GD_2_0_34RC1.tar.gz
这是最新的版本
#tar -zxf GD_2_0_34RC1.tar.gz
#cd pierrejoye-gd-libgd-5551f61978e3/src/
#./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg8/ --with-png --with-zlib --with-freetype=/usr/local/freetype/
#make; make install
b.安装curl库
这是最新版本的curl
#wget http://curl.haxx.se/download/curl-7.24.0.tar.gz
#tar -zxf curl-7.24.0.tar.gz
#cd curl-7.24.0
#./configure --prefix=/usr/local/curl
#make; make install
3.安装php
安装php前我们还得解决libxml2 和 libxslt
a.libxml2
这也是最新的版本
#wget http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.30.tar.gz

PHP类型提示提升代码质量和可读性。1)标量类型提示:自PHP7.0起,允许在函数参数中指定基本数据类型,如int、float等。2)返回类型提示:确保函数返回值类型的一致性。3)联合类型提示:自PHP8.0起,允许在函数参数或返回值中指定多个类型。4)可空类型提示:允许包含null值,处理可能返回空值的函数。

PHP中使用clone关键字创建对象副本,并通过\_\_clone魔法方法定制克隆行为。1.使用clone关键字进行浅拷贝,克隆对象的属性但不克隆对象属性内的对象。2.通过\_\_clone方法可以深拷贝嵌套对象,避免浅拷贝问题。3.注意避免克隆中的循环引用和性能问题,优化克隆操作以提高效率。

PHP适用于Web开发和内容管理系统,Python适合数据科学、机器学习和自动化脚本。1.PHP在构建快速、可扩展的网站和应用程序方面表现出色,常用于WordPress等CMS。2.Python在数据科学和机器学习领域表现卓越,拥有丰富的库如NumPy和TensorFlow。

HTTP缓存头的关键玩家包括Cache-Control、ETag和Last-Modified。1.Cache-Control用于控制缓存策略,示例:Cache-Control:max-age=3600,public。2.ETag通过唯一标识符验证资源变化,示例:ETag:"686897696a7c876b7e"。3.Last-Modified指示资源最后修改时间,示例:Last-Modified:Wed,21Oct201507:28:00GMT。

在PHP中,应使用password_hash和password_verify函数实现安全的密码哈希处理,不应使用MD5或SHA1。1)password_hash生成包含盐值的哈希,增强安全性。2)password_verify验证密码,通过比较哈希值确保安全。3)MD5和SHA1易受攻击且缺乏盐值,不适合现代密码安全。

PHP是一种服务器端脚本语言,用于动态网页开发和服务器端应用程序。1.PHP是一种解释型语言,无需编译,适合快速开发。2.PHP代码嵌入HTML中,易于网页开发。3.PHP处理服务器端逻辑,生成HTML输出,支持用户交互和数据处理。4.PHP可与数据库交互,处理表单提交,执行服务器端任务。

PHP在过去几十年中塑造了网络,并将继续在Web开发中扮演重要角色。1)PHP起源于1994年,因其易用性和与MySQL的无缝集成成为开发者首选。2)其核心功能包括生成动态内容和与数据库的集成,使得网站能够实时更新和个性化展示。3)PHP的广泛应用和生态系统推动了其长期影响,但也面临版本更新和安全性挑战。4)近年来的性能改进,如PHP7的发布,使其能与现代语言竞争。5)未来,PHP需应对容器化、微服务等新挑战,但其灵活性和活跃社区使其具备适应能力。

PHP的核心优势包括易于学习、强大的web开发支持、丰富的库和框架、高性能和可扩展性、跨平台兼容性以及成本效益高。1)易于学习和使用,适合初学者;2)与web服务器集成好,支持多种数据库;3)拥有如Laravel等强大框架;4)通过优化可实现高性能;5)支持多种操作系统;6)开源,降低开发成本。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

记事本++7.3.1
好用且免费的代码编辑器

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

WebStorm Mac版
好用的JavaScript开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),