<服务>LAMP下的PHP和LAMP
目录:
LAMP下的PHP
php编译和使用方面依赖的软件包
yum install -y zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel 大多数库不安装php也是可以编译成功的,但是因为php产生网页的时候会产生好多好多的图片之类的,就会导致这些服务无法显示
手动安装libiconv
[root@why-2 ~]# tar -zxvf libiconv-1.14.tar.gz
[root@why-2 libiconv-1.14]# cd libiconv-1.14
[root@why-2 libiconv-1.14]# ./configure --prefix=/usr/local/libiconv-1.14
[root@why-2 libiconv-1.14]# make && make install
编译安装PHP
[root@why-2 ~]# tar xf php-5.3.27.tar.gz
[root@why-2 ~]# cd php-5.3.27
[root@why-2 php-5.3.27]# ./configure --prefix=/usr/local/php5.3.27 --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-xmlrpc --with-openssl --with-zlib --with-freetype-dir --with-gd --with-jpeg-dir --with-png-dir --with-iconv=/usr/local/libiconv-1.14 --enable-short-tags --enable-sockets --enable-zend-multibyte --enable-soap --enable-mbstring --enable-static --enable-gd-native-ttf --with-curl --with-xsl --enable-ftp --with-libxml-dir
命令解析
./configure \
--prefix=/usr/local/php5.3.27 \
--with-apxs2=/usr/local/apache/bin/apxs \ #生成apache的php模块,这个路径一定要正确
--with-mysql=/usr/local/mysql \
--with-xmlrpc \
--with-openssl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv=/usr/local/libiconv-1.14 \
--enable-short-tags \
--enable-sockets \
--enable-zend-multibyte \
--enable-soap \
--enable-mbstring \
--enable-static \
--enable-gd-native-ttf \
--with-curl \
--with-xsl \
--enable-ftp \
--with-libxml-dir
也可以通过./configure -help查找参数
可能会遇到的错误
如果遇到openssl错误,需要安装openssl-devel libxslt错误,需要安装libxslt-devel
继续编译
[root@why-2 php-5.3.27]# make && make install
[root@why-2 php-5.3.27]# ln -s /usr/local/php5.3.27/ /usr/local/php
[root@why-2 php-5.3.27]# ll /usr/local/apache/modules/
总用量 28864
-rw-r--r-- 1 root root 9194 11月 2 12:15 httpd.exp
-rwxr-xr-x 1 root root 29541045 11月 2 23:10 libphp5.so
libphp5.so为编译好的apache模块,php编译完成后libphp5直接写入apache配置文件中,当访问apache服务的时候,如果需要是php请求就由libphp5模块进行解析。
php配置
[root@why-2 php-5.3.27]# ll php.ini-*
-rw-r--r-- 1 101 101 69606 7月 11 2013 php.ini-development #开发配置
-rw-r--r-- 1 101 101 69627 7月 11 2013 php.ini-production #生产配置
[root@why-2 php-5.3.27]# cp php.ini-production /usr/local/php/lib/php.ini
区别是开发配置error为on,生产配置error为off
LAMP
编译安装apache,mysql可以看前边的博客。
配置apache
[root@why-2 ~]# cd /usr/local/apache
[root@why-2 apache]# vi conf/httpd.conf
ServerName 127.0.0.1:80
添加压缩和php
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
不使用默认用户名
修改为
User whylamp
Group whylamp
默认主页
修改为
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
创建apache用户
[root@why-2 apache]# useradd whylamp -s /sbin/nologin -M
[root@why-2 apache]# id whylamp
uid=502(whylamp) gid=502(whylamp) 组=502(whylamp)
启动apache服务
[root@why-2 apache]# /usr/local/apache/bin/apachectl -t
Syntax OK
[root@why-2 apache]# /usr/local/apache/bin/apachectl graceful
配置站点目录
/usr/local/apache/conf/extra/httpd-vhosts.conf里边也配置好的站点目录
<VirtualHost *:80>
ServerAdmin 93216193@qq.com
DocumentRoot "/var/html/www"
ServerName www.why.cn
ServerAlias why.com
ErrorLog "logs/www.why.com-error_log"
CustomLog "|/usr/local/sbin/cronolog /var/log/www.why.cn/www.why.cn_%Y%m%d.log" combined
</VirtualHost>
添加主页php文件
[root@why-2 www]# vi /var/html/www/index.php
<?php
phpinfo();
?>
验证Apache和PHP
进入www.why.cn 证明apache和php连接正常
主页php文件添加MySQL连接
验证Apache,MySQL和PHP
证明apache,mysql个和php连通。