前言

  最近突然想搭建个人博客,尽管笔者擅长java-web,但综合各种原因,于是选择了大众化的php+mysql搭建个人博客。对于php,只闻其大名,但从未学过,于是,笔者将从php环境搭建开始,到服务器、域名的租赁,php博客模板的选择,一一记录整个过程。计划为学习php用时一个月,租赁服务器和寻找blog模板等相关最终过程耗时一个月。现在就让我们从搭建php环境开始吧。注意,这是在linux服务器上的教程, 已在虚拟机上安装的centos6.4测试成功过,至于windows的,笔者卡在载入模块部分,唉。。。。

  搭建php环境主要分为三个步骤,第一步为

  安装apache(2.4)服务器

  apache安装之前,需要安装APR、APR-Util和PCRE依赖包,因为apache是依赖于它们的。具体下载地址如下

  APR和APR-Util:http://apr.apache.org/download.cgi

  PCRE:http://sourceforge.net/projects/pcre/files/pcre

  apache的下载地址为:

http://httpd.apache.org/download.cgi

  笔者下载的版本具体为,apache(httpd-2.4.10.tar.gz),  apr(apr-1.5.1.tar.gz),  apr-util(apr-util-1.5.4.tar.gz),  pcre(pcre-8.36.tar.gz)。

  下载完以后就是安装了(相关目录需要自己建)

  1.apr的安装

  解压:在apr文件路径下执行(下载文件已经mv到apr目录下)

  tar -zxvf  apr-1.5.1.tar.gz,文件就解压到当前路径下了

  创建软链接并安装:

  (1) ln -s /opt/apr/apr /usr/local/apr

  (2) cd apr-1.5.1

  (3)./configure --prefix=/usr/local/apr (prefix为设置安装目录,和configure前面有空格,注意下)

  (4)make

  (5)make install

 2.apr-util的安装:

  解压:在apr-util文件路径下执行(下载文件已经mv到apr-util目录下)

  tar -zxvf  apr-util-1.5.4.tar.gz,文件就解压到当前路径下了

  创建软链接并安装:

  (1) ln -s /opt/apr/apr-util /usr/local/apr-util

  (2) cd apr-util-1.5.4

  (3)./configure --prefix=/usr/local/apr-util (prefix为设置安装目录)

  (4)make

  (5)make install

3.pcre的安装:

  解压:在pcre文件路径下执行(下载文件已经mv到pcre目录下)

  tar -zxvf  pcre-8.36.tar.gz,文件就解压到当前路径下了

  创建软链接并安装:

  (1) ln -s /opt/apr/pcre /usr/local/pcre

   (2) cd pcre-8.3.6

  (3)./configure --prefix=/usr/local/pcre (prefix为设置安装目录)

  (4)make

  (5)make install

  

  4.最后一步就是安装apache了:

  解压:在apache文件路径下执行(下载文件已经mv到apache目录下)

  tar -zxvf  httpd-2.4.10.tar.gz,文件就解压到当前路径下了

  创建软链接并安装:

  (1) ln -s /opt/apr/apache /usr/local/apache

  (2) cd httpd-2.4.10

  (3)./configure --prefix=/usr/local/apache2.4

    --enable-so-rewrite=shared

    --with-mpm=prefork

    --with-apr=/usr/local/apr (路径为apr的安装路径,下同)

    --with-apr-util=/usr/local/apr-util

    --with-pcre=/usr/local/pcre

    安装参数具体含义请help

  (4) make

  (5) make install

  至此,apache就已经安装完成了,接下来就是启动和测试其是否启动成功了

  执行命令:

  /usr/local/apache2.4/bin/apachectl start

  检查是否有apache进程

  ps aux | grep httpd

  如下,是笔者执行命令的结果

  

  如果有进程的话,就可以输入http://localhost,笔者的结果为

  

  由于是部署在虚拟机,故用的是虚拟机的ip访问的。

  如果你能看到"It works!", it does work!

  为了以后方便,可以把它添加到服务中去,将apachectl 拷贝到 /etc/init.d/httpd, 这样执行

  service httpd start

  就可以直接启动服务了

  安装php

  安装php前需要有确保已经安装libxml2,下载地址为:

  http://download.chinaunix.net/download.php?id=28497&ResourceID=6095

  笔者当时也是随便百度的,并不是官方的,如果需要官方的话,请大家自己发挥搜索能力啦

  安装其实也是和上面大体相同,就简单罗列命令就是了

  (1)tar -zxvf libxml2-2.7.4.tar.gz

  (2)cd libxml2-2.7.4

  (3)./configure --prefix=/usr/local/libxml2

  (4)make

  (5)make install

  这样就把libxml2安装好了。

  接下来就是安装php了

  官方下载地址为:

  http://php.net/downloads.php

  然后是安装了

  在把文件拷贝到/opt/php后

  解压:

  tar -zxvf  php-5.6.3.tar.gz

  然后:

  cd php-5.6.3

  执行安装:

  ./configure

  --prefix=/usr/local/php (路径为需要安装php的路径)

  --with-mysql=/usr/local/mysql (路径为已经安装好的mysql的安装路径)

  --with-apxs2=/usr/local/apache2.4/bin/apxs (在有些教程写的是--with-apxs,这里写的是apxs2,2是版本2以上的就这样设置)

  --with-libxml2=/usr/local/libxml2 (就是我们上面安装libxm2的路径)

  然后make,make install就可以了

  

  最后就是配置apache让它支持php

  修改apache的配置文件httpd.conf

  vim /usr/local/apache2.4/conf/httpd.conf

  然后在文本最后面添加

  LoadModule php5_module modules/libphp5.so  (注意,在apache安装目录下,modules下有libphp5.so,这是php安装时添加进去的,如果没有,php,你需要重装下)

  AddType application/x-httpd-php .php      (.前面有空格)

  (注意,如果上面一条没配置好的话会导致,,访问http:localhost/*.php会直接下载,而不是打开)

  笔者配置截图

  

  接下来复制php启动文件

  cp php-5.6.3/php.ini-development /usr/local/php/lib/php.ini

  保存,重新启动

  service httpd start

  如果没有报错则说明启动成功

  

  测试php是否安装成功

  写一个简单的php页面,如下

  

  是不是很简单,然后保存为welcome.php,文件需要放到apache的htdocs目录下

  在浏览器中输入http://localhost/welcome.php

  如果看到下面的页面,则说明安装成功了

  

  

  总结:

  大家在搭建php环境的时候,多参考几个教程。每个教程的版本等各个因素可能都不一样,所以并不一定适合大家,这也是笔者的经验,参考了很多教程。写这篇教程的原因是发现很多教程并不全面,故希望以笔者的经验,给正在学习php的coder一些帮助。在安装过程中遇到困难的童鞋可以给我留言,我会尽力帮助大家的

  

												

php5.6+apache2.4+linux搭建php环境的更多相关文章

  1. linux搭建node环境超详细教程

    linux 环境搭建详细步骤 1.访问官方网址:https://nodejs.org/en/download/ 2.选择和你服务器版本相关的压缩包,复制下载链接 3.服务器登录ssh,(这里我用的服务 ...

  2. 如何在windows和linux搭建django环境

    注:本文以python3为例,python2.x是一样的不再赘述 提前准备: python/python3已经安装好,如果没有请参考以下资料进行安装 linux安装python3 win安装pytho ...

  3. Linux搭建python环境中cx_Oracle模块安装遇到的问题与解决方法

    安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclntsh.so.11.1,否则会有各种各样的错误信息. 安装Oracle Instant Client就可得到这个链接库,避免 ...

  4. linux 搭建lamp环境

    sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql sudo chmod 777 /var/w ...

  5. Linux搭建Java环境(JDK+Tomcat+MySQL)

    目录 一.项目环境: 二.安装JDK1.8 三.安装Tomcat8.5 四.安装MySQL数据库 五.配置JAVA项目 一.项目环境: 开发环境 生产环境 测试环境 硬件环境: web服务器:cpu: ...

  6. Linux第三章-Linux搭建Java环境

    本文安装系统是基于 CentOS 7 版本及以上 一.安装JDK 1.先去 Oracle官网 下载Linux1.8的版本以 .tar.gz 为后缀的文件,我这里用的是 jdk-8u181-linux- ...

  7. Linux搭建python环境

    环境: CentOS 6.4 前言:CentOS 6.4系统自带的有python2.6.6版本 一.下载文件 python官网:https://www.python.org/downloads/ 版本 ...

  8. linux搭建java环境

    建议使用EXCEL查看 准备文件 apache-tomcat-7.0.57.tar tomcat web容器 server-jre-7u76-linux-x64.tar  java jdk java执 ...

  9. Linux搭建Tomcat环境

    安装Tomcat 1)下载apache-tomcat-7.0.42.tar.gz        http://tomcat.apache.org/download-70.cgi 2)#tar -zxv ...

随机推荐

  1. C#使用PriorityQueue

    #pragma once #include<cliext/queue> #include<cliext/vector> using namespace cliext; usin ...

  2. “全栈2019”Java多线程第二十七章:Lock获取lock/释放unlock锁

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  3. IOS 开发入门

    1.Getting Started https://developer.apple.com/library/ios/navigation/#section=Resource%20Types&t ...

  4. Centos出现-bash: unzip: command not found的解决办法

    利用unzip命令解压缩的时候,出现-bash:  unzip: command not found的错误. unzip——命令没有找到,其原因肯定是没有安装unzip. 利用一句命令就可以解决了.  ...

  5. Jmeter做并发测试(设置集合点)

    集合点:让所有请求在不满足条件的时候处于等待状态. 如:我集合点设置为50,那么不满足50个请求的时候,这些请求都会集合在一起,处于等待状态,当达到50的时候,就一起执行.从而达到并发的效果. 那么J ...

  6. postgresql模糊匹配正则表达式性能问题

    postgresql 模糊匹配 目前建议使用like,~~,不建议使用正则表达式, 目前有性能问题 https://yq.aliyun.com/articles/405097   正则表达式效率比较低 ...

  7. php内核为变量的值分配内存的几个宏

    在php5.3之前,为某变量分配内存是用宏 MAKE_STD_ZVAL; 737 #define MAKE_STD_ZVAL(zv) \ # /Zend/zend.h738 ALLOC_ZVAL(zv ...

  8. (转)Python标准库:内置函数print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

    原文:https://blog.csdn.net/caimouse/article/details/44133241 https://www.cnblogs.com/owasp/p/5372476.h ...

  9. spring boot和mybatis集成分页插件

    MyBatis提供了拦截器接口,我们可以实现自己的拦截器,将其作为一个plugin装入到SqlSessionFactory中. 首先要说的是,Spring在依赖注入bean的时候,会把所有实现MyBa ...

  10. 【链表】Linked List Cycle II

    题目: Given a linked list, return the node where the cycle begins. If there is no cycle, return null. ...