`
yangle926
  • 浏览: 58087 次
  • 性别: Icon_minigender_1
  • 来自: 洛阳
社区版块
存档分类
最新评论

Centos7下编译安装PHP

阅读更多
# yum groupinstall "Development Tools"
# yum -y install libxml2 libxml2-devel bzip2-devel curl curl-devel libjpeg-devel libpng libpng-devel libXpm-devel gcc gcc-c++ freetype-devel glib2-devel cairo-devel postgresql-devel libxslt libxslt-devel mysql-devel
# cd /usr/local/src
# wget http://cn.php.net/distributions/php-5.6.38.tar.bz2
# tar –xjvf php-5.6.38.tar.bz2
# cd php-5.6.38
# ./configure --prefix=/usr/local/php56 --with-config-file-path=/usr/local/php56/etc --with-apxs2=/usr/local/apache24/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libxml-dir --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-sockets --enable-sysvsem --enable-xml --enable-zip
*** libtool: warning: remember to run 'libtool --finish /usr/local/src/php-5.6.38/libs'
【 如果之前的yum groupinstall及yum install相关的准备工作已经完成,下面部分将不会有,如果没有做准备工作,可根据错误提示一次次排错
configure: error: xml2-config not found. Please check your libxml2 installation.
# yum install -y libxml2 libxml2-devel
configure: error: Please reinstall the BZip2 distribution
# yum -y install bzip2-devel
configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
# yum -y install curl curl-devel
configure: error: jpeglib.h not found.
# yum -y install libjpeg-devel
configure: error: png.h not found.
# yum -y install libpng libpng-devel
configure: error: xpm.h not found.
# yum -y install libXpm-devel
configure: error: freetype-config not found.
# yum -y install gcc gcc-c++ freetype-devel glib2-devel cairo-devel
configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
# ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib/
# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
# yum groupinstall "Development Tools"
configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
# yum -y install postgresql-devel
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
# yum -y install libxslt libxslt-devel
# make
In file included from /usr/local/src/php-5.6.38/ext/mysqli/mysqli.c:34:0:
/usr/local/src/php-5.6.38/ext/mysqli/php_mysqli_structs.h:82:21: 致命错误:my_list.h:没有那个文件或目录
#include <my_list.h>
编译中断。
make: *** [ext/mysqli/mysqli.lo] 错误 1
# yum -y install mysql-devel

# make
# make install
# cp php.ini-production /usr/local/php/php5.6/etc/php.ini
配置httpd支持PHP
# vim /etc/httpd/httpd.conf
搜索ServerName,把#ServerName www.example.com:80前面的#号删除(此处未做,在安装Apache时在此处添加ServerName localhost:80)
将<Directory />段中的Require all denied改为Require all granted
在AddType application/x-gzip .gz .tgz下面添加一行AddType application/x-httpd-php .php
在<IfModule dir _module>段中添加
    AddType application/x-httpd-php .php
在启动httpd之前检验配置文件是否正确
# /usr/local/apache24/bin/apachectl –t
启动apache
# /usr/local/apache24/bin/apachectl start
测试
# curl localhost
测试是否正确解析PHP
# vim /usr/local/apache24/htdocs/1.php
输入PHP代码,然后在浏览器中输入IP/1.php测试
====================================================
默认虚拟主机
# vim /etc/httpd/httpd.conf
# Virtual hosts
Include /etc/httpd/extra/httpd-vhosts.conf ==去掉行首的#
# vim /etc/httpd/extra/httpd-vhosts.conf
默认内容
<VirtualHost *:80>  #默认虚拟主机
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/local/apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com  #网站域名,只能有一个
ServerAlias www.dummy-host.example.com #网站第二域名,可以有多个,中间用空格隔开
ErrorLog "logs/dummy-host.example.com-error_log" #错误日志
CustomLog "logs/dummy-host.example.com-access_log" common #访问日志
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/usr/local/apache24/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
修改后
<VirtualHost *:80> 
ServerAdmin yangle926@163.com
DocumentRoot "/data/wwwroot/aming.com"
ServerName aming.com 
ServerAlias www.aming.com 
ErrorLog "logs/aming.com-error_log"
CustomLog "logs/aming.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
</VirtualHost>
测试:
# mkdir -p /data/wwwroot/aming.com /data/wwwroot/www.123.com
# echo "aming.com" > /data/wwwroot/aming.com/index.html
# echo "123.com" > /data/wwwroot/www.123.com/index.html
# /usr/local/apache24/bin/apachectl -t
# /usr/local/apache24/bin/apachectl graceful //这个操作是重新加载httpd服务
# curl -x127.0.0.1:80 aming.com
# curl -x127.0.0.1:80 www.abc.com
如果显示You don't have permission to access /index.html on this server. 则表示权限设置有误,修改httpd.conf将"Deny from all"这行给注释掉就可以了。

分享到:
评论

相关推荐

    centos6.5下编译安装lamp

    ### CentOS 6.5 下编译安装 LAMP 环境详细步骤 LAMP 是一套常用的网站服务器软件组合,由 Linux、Apache、MySQL 和 PHP 四部分组成。本文将详细介绍如何在 CentOS 6.5 系统上从源码编译安装 LAMP。 #### 一、MySQL...

    centos7编译安装php

    centos7编译安装php

    CentOS7下源码编译配置Apache2.4+MySQL5.6+PHP71

    2. 配置并编译PHP,确保链接到Apache模块: ```bash ./configure --prefix=/usr/local/php7 --with-config-file-path=/etc --with-config-file-scan-dir=/etc/...

    X64 linux centos下编译安装PHP环境

    完成所有库的安装后,就可以开始编译PHP了。解压php源代码包,进入目录,运行`./configure`,并根据实际需求添加相应的配置选项,如指定mysql、apache模块等路径。然后进行`make`和`make install`。 最后,配置...

    centos7上编译安装php7以php-fpm方式连接apache

    CentOS 7 编译安装 PHP 7 并使用 PHP-FPM 连接 Apache 的知识点包括了以下几个方面: 1. **准备工作**: 在进行编译安装之前,确保系统已经安装了开发工具包,例如 GCC,以及 Apache 的开发包 httpd-devel,因为...

    Centos_6.3_编译安装Nginx+php+Mysql

    在CentOS 6.3系统中编译安装Nginx、PHP以及MySQL是一项涉及多个步骤的任务,包括系统配置、源码包的下载、安装必要的编译工具和依赖库、编译源码以及配置和启动服务。以下是根据提供的文件内容整理的知识点。 1. ...

    Centos6 LAMP编译安装详细说明

    Centos6 LAMP编译安装详细说明。包括httpd-2.2.27.tar.gz,mysql-5.1.59.tar.gz,php-5.2.6.tar.gz 等13个安装包的详细编译安装过程说明。

    Centos环境下安装curl

    ### Centos环境下安装curl #### 一、概述 在Linux环境下安装配置curl是非常常见的操作,尤其是在需要通过PHP脚本来执行HTTP请求的情况下。curl是一个利用URL语法在命令行方式下工作的文件传输工具,它支持多种协议...

    CentOS 6.8编译安装LNMP环境

    ### CentOS 6.8 编译安装LNMP环境详尽指南 #### 一、概述 在当前互联网技术快速发展的背景下,构建稳定可靠的Web服务成为众多企业和个人开发者的重要需求之一。其中,**LNMP**(Linux+Nginx+MySQL+PHP)环境作为...

    CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2

    软件源代码包将存储在`/usr/local/src`,编译后的软件将安装在`/usr/local/`目录下,如`/usr/local/nginx`,`/usr/local/mysql`和`/usr/local/php`。 四、下载软件包 在开始编译安装之前,需要从官方源下载各个软件...

    编译PHP5配置centos6.4

    首先,为了编译PHP5,你需要确保系统上已经安装了一些基本的开发工具和库。通过运行`yum -y install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel gd`,你可以安装GCC...

    CentOs下安装PHP扩展 curl

    本文将详细讲解如何在CentOS环境下,不重新编译PHP的情况下,安装cURL扩展。 1. **检查PHP版本和已安装扩展** 在开始安装之前,我们需要确认当前PHP的版本以及已安装的扩展。打开终端,输入以下命令: ``` php -...

    CentOs编译PHP环境

    在IT行业中,CentOS是一个广泛使用的Linux发行版,尤其在服务器领域...在压缩包中的`CentOs编译PHP环境.docx`文件,很可能会包含更详细的步骤、注意事项以及可能遇到的问题及解决方案,建议查阅该文档以获取更多信息。

    Centos7.9安装zabbix6.0LTS版

    编译和安装 Nginx: ``` ./configure --prefix=/usr/local/nginx \ --conf-path=/usr/local/nginx/etc/nginx/nginx.conf \ --error-log-path=/usr/local/nginx/logs/error.log \ --...

    Centos6下编译安装LAMP的完整部署记录(个人珍藏版本)

    在本文档中,我们将深入探讨如何在CentOS 6操作系统上编译安装LAMP(Linux、Apache、MySQL、PHP)环境。LAMP是构建Web服务器的流行组合,它为开发和运行动态网站提供了基础。以下是详细的步骤: 1. **安装必要依赖*...

    CentOS 7.0编译安装cmake和mysql安装包

    下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。 ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ln -s /usr/local/mysql/include/mysql /usr/...

    Centos7编译安装mariadb10.1.docx

    在CentOS 7系统上,默认情况下防火墙和SELINUX是启用的,这可能会阻止Mariadb的安装和运行。因此,我们需要关闭防火墙和SELINUX。 首先,我们需要停止firewall服务:`systemctl stop firewalld.service` 然后,...

    CentOS7 php7.0 升级到php7.3

    作者强调了重新安装扩展的重要性,因为新的扩展包文件夹是必须的,不能在以前的扩展包文件夹下安装。 查看 PHP 版本 文章最后提供了查看 PHP 版本的方法,使用 php -v 可以查看当前的 PHP 版本。 PHP Warning ...

Global site tag (gtag.js) - Google Analytics