Linux 安装 PHP

安装PHP 

 

两种方法
 1.下载安装包安装
 2.使用yum在线安装

一 下载安装包安装

1、 下载
    http://www.php.net/downloads.php
2、解压
    tar -zxvf php-5.3.16.tar.gz
3、建立目标文件夹
    mkdir /usr/local/php
    也就是说等下安装的php要安装到这个文件夹里面
4、配置
    回到原来解压后的文件夹
    ./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache/bin/apxs

--prefix=   确定程序的安装路径

--with-apxs2=/usr/local/apache/bin/apxs   其中apxs是在安装Apache时产生的,到自己的apache寻找此文件
         apxs:是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule
        指令在运行时加载到Apache服务器中。我的理解是通过这个工具把PHP模块动态加载到Apache中

这个apxs很重要,是apache 增加扩展模块 需要的!!!

 

出现错误:configure: error: xml2-config not found. Please check your libxml2 installation.

运行yum install libxml2,然后再运行yum install libxml2-devel安装完毕后,重新运行上面的./configure命令。、

 

编译完成时会列出一些配置文件信息,需要注意

Generating files

configure: creating ./config.status

creating main/internal_functions.c

creating main/internal_functions_cli.c

+--------------------------------------------------------------------+

| License:                                                           |

| This software is subject to the PHP License, available in this     |

| distribution in the file LICENSE.  By continuing this installation |

| process, you are bound by the terms of this license agreement.     |

| If you do not agree with the terms of this license, you must abort |

| the installation process at this point.                            |

+--------------------------------------------------------------------+

 

Thank you for using PHP.

 

config.status: creating php5.spec

config.status: creating main/build-defs.h

config.status: creating scripts/phpize

config.status: creating scripts/man1/phpize.1

config.status: creating scripts/php-config

config.status: creating scripts/man1/php-config.1

config.status: creating sapi/cli/php.1

config.status: creating sapi/cgi/php-cgi.1

config.status: creating ext/phar/phar.1

config.status: creating ext/phar/phar.phar.1

config.status: creating main/php_config.h

config.status: executing default commands

 

5、编译
                 make   
       6、测试编译
                 make test   
      7、安装
            make install
      注意以下信息

 

Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20121212/

Installing PHP CLI binary:        /usr/local/bin/

Installing PHP CLI man page:      /usr/local/php/man/man1/

Installing PHP CGI binary:        /usr/local/bin/

Installing PHP CGI man page:      /usr/local/php/man/man1/

Installing build environment:     /usr/local/lib/php/build/

Installing header files:          /usr/local/include/php/

Installing helper programs:       /usr/local/bin/

  program: phpize

  program: php-config

Installing man pages:             /usr/local/php/man/man1/

  page: phpize.1

  page: php-config.1

Installing PEAR environment:      /usr/local/lib/php/

[PEAR] Archive_Tar    - installed: 1.3.12

[PEAR] Console_Getopt - installed: 1.3.1

[PEAR] Structures_Graph- installed: 1.0.4

[PEAR] XML_Util       - installed: 1.2.3

[PEAR] PEAR           - installed: 1.9.5

Wrote PEAR system config file at: /usr/local/etc/pear.conf

You may want to add: /usr/local/lib/php to your php.ini include_path

/usr/local/php-5.5.30/build/shtool install -c ext/phar/phar.phar /usr/local/bin

ln -s -f phar.phar /usr/local/bin/phar

Installing PDO headers:          /usr/local/include/php/ext/pdo/

 

 

 

 

8、配置文件

    cp /usr/local/src/php-5.3.16/php.ini-development  /usr/local/php/lib/php.ini
           把原来位于源代码里面的php.ini-development拷贝到/usr/local/php/lib/php.ini下,并且重命名为php.ini
           这里一定要注意,每个系统php安装的位置不同,一定先找到自己解压后的php-5.3.16文件夹中的php.ini-development   然后选择好自己php安装文件夹的路径

 

9.重启apache

10、测试
    在apache的htdocs下建立一个php文件test.php,里面的内容如下:
    <?php
    phpinfo();
    ?>
    然后在浏览器里输入http://127.0.0.1/test.php
    如果出现php的相关配置,成功,如果什么都没有输入,说明失败,重新以上步骤或者查找原因

如果决定在安装后改变配置选项,只需重复最后的三步configure, make, 以及 make install,然后需要重新启动 Apache 使新模块生效。Apache不需要重新编译。

 

如果安装访问失败,比如直接显示php源码,或者提示下载php文件

一些解决办法:

1.apache没有添加对应的php类型,所以不支持php的脚本解析

解决办法:在配置文件中添加对应类型

找到apache配置文件:知道位置的自己去找,不知道位置的试试使用find命令

在根目录下执行:#find / -name "httpd.conf"

修改httpd.conf在文件中添加一行内容:AddType application/x-httpd-php .php

2.没有加上针对php的索引,如果没有该索引的支持,则无法解析用php编写的网页

解决办法:在配置文件中添加对应索引

找到配置文件方法同上,找到DirectoryIndex index.html

改为DirectoryIndex index.html index.htm index.php 即可

3.开启了防火墙

用命令:#getenforce

来查看防火墙的状态,若是Enforcing,说明是打开的,请在配置文件中关闭

在/etc/selinu目录下,修改config中的enforcing为disabled

4.未加载php5_module模块 

解决办法:添加模块

 

 

在配置文件中添加:LoadModule php5_module modules/libphp5.so
       (这个需要在编译时 添加 --with-apxs2=/usr/local/apache/bin/apxs

 
 
 
 
 
 
 
二 使用yum在线安装
yum install php
yum install php-devel
 
 
 
 
 
三  测试
安装完成后
可以在目录下建立一个PHP文件  例如1.php
写入代码:
<?php phpinfo(); ?>
然后访问这个文件,就能看到PHP的一些信息,
php.ini配置文件的路径可以在这个页面上看到
原文地址:https://www.cnblogs.com/centos2017/p/7896816.html