zoukankan      html  css  js  c++  java
  • CentOS 7运维管理笔记(11)----PHP安装与配置

      PHP的安装同样需要经过环境检查、编译和安装3个步骤。

    1.首先用百度搜索 “PHP:Downloads”, 点击第一个网页:

    选择5.5.37版本,选择 .tar.gz 格式的文件:

    来到镜像列表网站:http://php.net/get/php-5.6.23.tar.gz/from/a/mirror

    找到中国的镜像,点击,会弹出浏览器下载的对话框。在对话框中,有下载的地址信息:

    在CentOS7 命令行里输入:

    wget http://cn2.php.net/distributions/php-5.5.37.tar.gz

    下载完成:

    2. 编译源码并安装

    (i) ./configure 命令

    进入 ~/Downloads/php-5.5.37 目录,输入

    [root@localhost:~/Downloads/php-5.5.37] # ./configure  --prefix=/usr/local/php  --with-mysql=/usr/local/mysql  --enable-fpm

    结果出现错误:

    网上搜解决方案,说是要安装 libxml2:

    [root@localhost:~/Downloads/php-5.5.37]# yum install -y libxml2
    [root@localhost:~/Downloads/php-5.5.37]# yum install -y libxml2-devel

    安装 libxml2 正常,但是安装 libxml2-devel 却显示如下错误:

    将软件源从 aliyun 的源更新为 163 的源,还是不行。想起来之前备份了安装 CentOS时自带的源文件,便 cd 到 /etc/yum.repos.d 目录,恢复原始的源文件 CentOS-Base.repo,接着更新cache:

    yum clean all
    yum makecache

    然后再下载 libxml2-devel

    yum install -y libxml2-devel

    成功!

    再去 ./configure,这次参考了网上其他人的安装经验,改正了 ./configure 的参数,另外,使用 

    find / -name "libxml2"

    命令查到 'yum install -y libxml2' 命令将 libxml2安装在了 '/usr/include/libxml2'

    新的 ./configure 命令如下:

    [root@localhost:~/Downloads/php-5.5.37]# ./configure  --prefix=/usr/local/php 
    > --enable-fpm 
    > --with-config-file-path=/usr/local/php/etc 
    > --with-apxs2=/usr/local/apache2/bin/apxs 
    > --with-mysql=/usr/local/mysql  
    > --with-libxml-dir=/usr/include/libxml2  
    > --with-mysqli=/usr/local/mysql/bin/mysql_config 
    > --enable-soap 
    > --enable-mbstring=all 
    > --enable-sockets

    configure 结果如下:

    成功!

    (ii) make & make test & make install

    make

    make test

    好长一段时间后:

    make install

    安装成功。

     3. 配置Apache与PHP关联

    (i) ‘vim /usr/local/apache2/conf/httpd.conf’ ,查找有没有这么一条配置指令:

    LoadModule  php5_module        modules/libphp5.so

    没有的话则自行添加这么一条配置指令。

    (ii) 在 <IfModule mime_module> 段落中添加

    AddType application/x-httpd-php  .php
    AddType application/x-httpd-php-source  .phps

    (iii) 在<IfModule dir_module>段落中添加

    DirectoryIndex  index.php  index.html

    这样浏览器访问该改服务器的主页时,默认会先解析 index.php 文件,如果没有 index.php 文件,再解析 index.html 文件。

    (iv) 输入如下命令查看Apache配置是否正确,如果正确,则重启Apache服务器:

    apachectl -t
    #如果返回 Syntax OK,则输入如下重启命令
    
    apachectl restart

    4. 创建 index.php 文件

    (i) 之前安装Apache软件的时候,在 httpd.conf 里默认配置的本机文件根目录为 '/usr/local/apache2/htdocs':

    安装Apache成功后,默认在 htdocs 文件夹下已经生成了 index.html 文件,现在在里面重新添加 index.php 文件:

    [root@localhost:/usr/local/apache2/htdocs]# vim  index.php

    index.php 文件内容如下:

    <?php
    phpinfo();
    ?>

    (ii) 然后在宿主机浏览器中输入虚拟机的IP地址进行访问:

    成功!!!!! ---------喜悦~~~~~~~~~~~~~~~~~~

    可以看到 phpinfo() 函数返回的页面中的信息正是配置和安装PHP软件时使用的参数的信息。

    后记之前在编译安装好 php后 ,因为没有进行第 3 步的Apache与PHP的配置关联工作,所以在宿主机浏览器中输入‘192.168.1.219/index.php’ 的时候,总是弹出对话框提示用户下载 index.php 。当时不明白怎么回事。后来在 http://unix.stackexchange.com/questions/294030/why-my-web-browser-always-downloads-the-php-page-rather-than-show-it 提问,才知道是因为没有关联Apache和PHP,所以 Apache不知道如何解析PHP文件,所以 index.php 就被当做了 plain text 来对待,只能下载了。现在终于成功了。

  • 相关阅读:
    codephp 自研PHP框架并实现composer包管理
    收藏!17 张程序员专属壁纸(使用频率很高)
    git reset hard HEAD^后显示more?的解决方案
    如果有一天我不得不离开IDE,没有其它原因,一定是ta ?
    centos7 下安装composer失败
    不知道如何技术变现?19个程序员接私活平台汇总
    MySQL常见面试题:什么是主从延时?如何降低主从延时?
    Nginx服务器,修改html 文件后页面不更新生效(已解决)
    《Microsoft SQL Server 2005: 数据库基础由入门到精通》书评
    讲座资源:Silverlight In Action
  • 原文地址:https://www.cnblogs.com/dongling/p/5644372.html
Copyright © 2011-2022 走看看