Linux搭建PHP+MySQL+Apache环境

环境:

CentOS7 64位

Linux localhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

MySQL详细安装可参考:http://www.cnblogs.com/angelasp/p/4308526.html

Apache详细安装可参考:http://www.cnblogs.com/angelasp/p/6446004.html

 

一、下载文件

1、php下载地址:http://php.net/downloads.php  版本:php-5.6.3.tar.gz

2、libxml2下载地址:http://download.chinaunix.net/download/0007000/6095.shtml  版本:libxml2-2.7.4.tar.gz

3、apache2下载地址:http://httpd.apache.org/  版本:httpd-2.4.10.tar.gz

4、apr与apr-util下载地址:http://apr.apache.org   版本:apr-1.5.1.tar.gz / apr-util-1.5.4.tar.gz

5、pcre下载地址:http://sourceforge.net/projects/pcre/files/pcre/  版本:pcre-8.36.tar.gz

6、MySQL下载地址:http://dev.mysql.com/downloads/mysql/5.1.73.html  

MySQL-devel-community-5.1.73-1.rhel5.x86_64.rpm

MySQL-client-community-5.1.73-1.rhel5.x86_64.rpm

MySQL-server-community-5.1.73-1.rhel5.x86_64.rpm

下载

 

二、安装MySQL

1、二进制安装MySQL,步骤如下:

[root@vm15 mysql]# rpm -ivh MySQL-server-community-5.1.73-1.rhel5.x86_64.rpm
Preparing... ########################################### [100%]
1:MySQL-server-community ########################################### [100%]

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h vm15.example.com password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.

See the manual for more instructions.

Please report any problems with the /usr/bin/mysqlbug script!

Starting MySQL.. SUCCESS!
Giving mysqld 2 seconds to start

[root@memcache mysql]# rpm -ivh MySQL-client-community-5.1.73-1.rhel5.x86_64.rpm
Preparing... ########################################### [100%]
1:MySQL-client-community ########################################### [100%]

[root@vm15 mysql]# rpm -ivh MySQL-devel-community-5.1.73-1.rhel5.x86_64.rpm
Preparing... ########################################### [100%]
1:MySQL-devel-community ########################################### [100%]

 

2、验证安装是否成功

[root@vm15 mysql]# rpm -qa |grep MySQL
MySQL-client-community-5.1.73-1.rhel5.x86_64
MySQL-devel-community-5.1.73-1.rhel5.x86_64
MySQL-server-community-5.1.73-1.rhel5.x86_64

 

[root@vm15 mysql]# mysql

出现了“mysql>”提示符,恭喜你,安装成功!

 

三、安装Apache

参考:http://www.cnblogs.com/angelasp/p/6446004.html

 

四、安装libxml2

将下载的libxml2-2.7.4.tar.gz文件上传至/usr/local

[root@vm15 local]# mkdir -p libxml2
[root@vm15 local]# tar -zxvf libxml2-2.7.4.tar.gz
[root@vm15 local]# cd libxml2-2.7.4
[root@vm15 libxml2-2.7.4]# ./configure --prefix=/usr/local/libxml2
[root@vm15 libxml2-2.7.4]# make
[root@vm15 libxml2-2.7.4]# make install

如果安装成功以后,在/usr/local/libxml2/目录下将生成bin、include、lib和share四个目录。在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上"--with-libxml-dir=/usr/ local/libxml2"选项,用于指定安装libxml2库文件的位置。

 

五、安装php

将下载的php-5.6.3.tar.gz文件上传至/usr/local

[root@vm15 local]# mkdir -p php
[root@vm15 local]# tar -zxvf php-5.6.3.tar.gz
[root@vm15 local]# cd php-5.6.3
[root@vm15 php-5.6.3]#./configure --prefix=/usr/local/php --with-mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2

这里需要补充一下 网上基本是这样子

后来连接数据库出现了些问题如果链接不上数据库可以是试试这个:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql --with-mysqli --with-pdo-mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-gd --with-jpeg-dir --with-png-dir --enable-mbstring --enable-xml --with-xpm-dir=/usr --enable-fpm --with-freetype-dir --with-mcrypt --with-mhash  --with-gettext --enable-pdo --with-libxml-dir --with-zlib-dir

出现以下信息表示编译成功

..
checking for external oniguruma... no
checking for mcrypt support... no
checking for MSSQL support via FreeTDS... no
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
configure: error: Cannot find MySQL header files under /usr/local/mysql.
Note that the MySQL client library is not bundled anymore!

creating libtool
appending configuration tag "CXX" to libtool

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

[root@vm15 php-5.6.3]#make

[root@vm15 php-5.6.3]#make install

安装成功。

 

六、配置php

1、配置php.ini,只需要把php-5.6.3安装包中的php.ini-production拷贝到/usr/local/php/lib/下

[root@vm15 php-5.6.3]# cp php.ini-production /usr/local/php/lib/php.ini

2、配置 httpd.conf 让apache支持PHP:

# vi /usr/local/apache/conf/httpd.conf

找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

3、在DirectoryIndex增加 index.php,以便Apache识别PHP格式的index

# vi /usr/local/apache/conf/httpd.conf

<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>

七、重启Apache

[root@vm15 mysql]# /usr/local/apache2/bin/apachectl start

(一定要重启)

 

八、测试php是否成功安装

写一个php测试页info.php,放到/usr/local/apache2/htdocs中。

<?php

phpinfo();

?>;

在浏览器中输入:服务器地址/info.php。通过phpinfo()可以查看很多信息,比如php.ini的存放路径,以及所有扩展组件等,很强大。

 

如果能正常显示出php的信息,则说明Apche+Mysql+PHP安装成功!

 

九、安装遇到的问题

1、安装MySQL时,报下面的错误:

[root@memcache mysql]# rpm -ivh MySQL-server-community-5.1.73-1.rhel5.x86_64.rpm
Preparing... ########################################### [100%]
file /usr/share/mysql/charsets/README from install of MySQL-server-community-5.1.73-1.rhel5.x86_64 conflicts with file from package mysql-libs-5.1.73-3.el6_5.x86_64
file /usr/share/mysql/charsets/Index.xml from install of MySQL-server-community-5.1.73-1.rhel5.x86_64 conflicts with file from package mysql-libs-5.1.73-3.el6_5.x86_64
file /usr/share/mysql/charsets/armscii8.xml from install of MySQL-server-community-5.1.73-1.rhel5.x86_64 conflicts with file from package mysql-libs-5.1.73-3.el6_5.x86_64
file /usr/share/mysql/charsets/ascii.xml from install of MySQL-server-community-5.1.73-1.rhel5.x86_64 conflicts with file from package mysql-libs-5.1.73-3.el6_5.x86_64
file /usr/share/mysql/charsets/cp1250.xml from install of MySQL-server-community-5.1.73-1.rhel5.x86_64 conflicts with file from package mysql-libs-5.1.73-3.el6_5.x86_64
file /usr/share/mysql/charsets/cp1251.xml from install of MySQL-server-community-5.1.73-1.rhel5.x86_64 conflicts with file from package mysql-libs-5.1.73-3.el6_5.x86_64
file /usr/share/mysql/charsets/cp1256.xml from install of MySQL-server-community-5.1.73-1.rhel5.x86_64 conflicts with file from package mysql-libs-5.1.73-3.el6_5.x86_64

解决方法:yum remove mysql-libs-5*

 

2、configure php时,报错:

Configuring SAPI modules
checking for AOLserver support... no
checking for Apache 1.x module support via DSO through APXS... configure: error: You have enabled Apache 1.3 support while your server is Apache 2. Please use the appropriate switch --with-apxs2

解决方法:./configure --prefix=/usr/local/php --with-mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2

 

3、安装apr时,报错rm: cannot remove `libtoolT': No such file or directory

解决方法:

直接打开/usr/local/apr-1.5.1/configure 把 $RM“$cfgfile” 那行删除掉
$RM“$cfgfile” 大约在 42302行

[root@vm15 apr-1.5.1]#grep -n RM configure

[root@vm15 apr-1.5.1]#sed -i '/$RM "$cfgfile"/d' configure

然后再重新运行 ./configure --prefix=/usr/local/apr 就可以了.

 

4、[root@vm15 php-5.6.3]#./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2

..
checking for external oniguruma... no
checking for mcrypt support... no
checking for MSSQL support via FreeTDS... no
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
configure: error: Cannot find MySQL header files under /usr/local/mysql.
Note that the MySQL client library is not bundled anymore!

解决方法:

[root@localhost php-5.5.6]# find / -name mysql.h
/usr/include/mysql/mysql.h

查找到mysql.h文件,我们更改参数为--with-mysql,如果没有的话,请安装mysql-devel包,

posted @   Angelasp  阅读(2473)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
历史上的今天:
2015-02-26 linux下安装MySQL出错file /usr/share/mysql/charsets/latin2.xml from install of MySQL-......
点击右上角即可分享
微信分享提示