最近因为工作需要,需要搭建LAMP。为防止遗忘,特记录如下。
一、安装apache
从http://www.apache.org/dist/httpd 下载apache(我下载的版本是:httpd-2.2.27.tar.gz)
解压,配置:
./configure --prefix=/usr/local/apache --enable-module=so
其中,--prefix指定httpd最终的安装目录,--enable-module配置apache支持动态so
编译,安装:
make & make install
二、安装php
从http://php.net/downloads.php下载php(我下载的版本是:php-5.5.23.tar.gz)
解压,配置:
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/lib --with-xml --with-mysql=/usr/local/mysql-mysql-5.6.4-m7
其中,--prefix指定php安装的目录;--with-apxs2整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开so模块;--with-config-file-path指定php.ini的路径;--with-mysql指定mysql的安装目录,用于支持mysql
编译,安装:
make & make install
三、安装mysql
从http://www.mysql.com/downloads/下载mysql(我的版本是:mysql-mysql-5.6.4-m7.tar.gz)
解压,安装
make & make install
(此部分若出现问题,请自行查找解决方案)
安装LAMP过程,遇到的问题:
一、httpd能正常运行,即输入网址localhost,出现It works。但是不能调用php解释器,执行php代码。
解决方式:首先检查安装httpd的modules目录下是否有php的动态库,即libphp5.so;然后,配置httpd.conf文件,AddTpe application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps ,并添加LoadModule php5_module modules/libphp5.so(该句话使httpd找到php动态库的加载位置)。
二、php不能访问mysql。错误提示,Fatal error: Call to undefined function mysql_connect()。该错误是编译php时,没有指定mysql安装目录。
解决方法:使用--with-mysql="mysql安装目录"。编辑php.ini,extension=mysql.so extension=mysqli.so