安装lamp,先安装mysql,再安装PHP!!这里安装php5.3.27
安装依赖文件包:
yum install -y zlib libxml libjpeg freetype libpng gd curl libicony zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel
yum -y install libjpeg-devel -yyum -y install libiconv libiconv-devel 安装依赖,若不成功,使用自己下载好的
yum install openssl-devel -y yum install libxslt-devel -y
装libiconv :(软件包在群资料)或者以下:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
下面准备安装php(源码安装):
wget http://cn2.php.net/distributions/php-5.3.27.tar.gz用md5sum php-5.3.27.tar.gz 校验md5: bd03bfa9e7db40b6f2950fcbcf6a8276 再解压。。。
./configure --prefix=/application/php5.3.27 \
--with-apxs2=/application/apache/bin/apxs \
--with-mysql=/application/mysql \
--with-xmlrpc \
--with-openssl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv=/usr/local/libiconv \
--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
make && make install
================================================================
部分参数说明
./configure --prefix=/application/php5.3.27 \指定PHP的安装路径
--with-apxs2=/application/apache/bin/apxs \ 这个特别注意,Apache路径一定要正确,否则不能和Apache生成模块文件
--with-mysql=/application/mysql \因为PHP要调用mysql,故PHP本身就相当于客户端,所以PHP要有mysql相关的函数,如果mysql没装,PHP装完了再装就用不了mysql了
=======================================
所以装完PHP后,看一下Apache模块路径会有一个:module,这个就是apxs2插入进来的,
grep一下:grep libphp5 /application/apache/conf/httpd.conf 会看到也多了一行:modules/libphp5.so 也就是说当用户访问Apache时,Apache如果是静态文件就自己给了,动态文件就交给PHP模块,由PHP来解析动态文件,(这是内置的)再与mysql打交道。
下面配置PHP:
cd tar解压PHP的路径ls php.ini-*
。。。。
development:开发人员使用的,测试环境
production:生产环境使用的
看看他们有什么区别:
diff`ls php.ini-*` 通过这个命令比较下
。。。。。
测试环境一般都打开,要看错误啊,开发要调试代码,正式环境要关掉,因为让错误被用户看到,不能让黑客看到。大多数都是测试环境打开错误,正式环境关掉错误。这就是他们之间的区别。
默认的PHP路径是:复制到php.ini下面:
cp php.ini-production /application/php/lib/php.ini
Apache有配置文件,mysql有配置文件,PHP也有自己的配置文件。
PHP配置文件暂时不改,完全能把服务搭建起来。以后优化时再改。
小结:
1.正式配置文件一般关闭显示log,就是不输出log或者输出也是打到日志里面去不让用户看。
2. ./application/php/lib/
===========================================================================
实战配置Apache整合PHP软件:
cd /application/apache/conf/ 切换到Apache配置文件目录cp httpd.conf httpd.conf.panll.20160603 备份配置文件httpd.conf
vim /application/apache/conf/httpd.conf +99 到99行修改,参考下面
1. 把99#ServerName www.example.com:80 改为“ServerName 127.0.0.1:80 ”添加一行主机
2.然后在311gg行下添加下面两行:如下:
311AddType application/x-httpd-php .php .phtml
312AddType application/x-httpd-php-source .phps
3.67gg行
67 user www
68 group www
4.168gg
添加inde.php进去,如:
168 DirectoryIndex index.php index.html
--->>如果以PHP结尾的就用PHP来处理,这两行必须添加,不添加Apache就解析不了PHP,解析不了PHP程序就相当于下载一样,一打开就下载。
----------------------------------------------------------------
----------------------------------------------------------------
配置Apache支持PHP就这3步。
用 diff httpd.conf httpd.conf.panll.20160603 比较下两个文件。
id www 发现没有www用户,那么我们创建一个:
useradd www -s /sbin/nologin -M 创建www用户,没有家目录不能登录
如果提示有就用:
useradd -s/sbin/nolobin -M -g www www
----------------------------------------------------------------------------
/application/apache/bin/apachectl graceful 平缓重启Apache
/etc/init.d/mysqld start (启动mysql)
./bin/mysqld_safe --user=mysql 启动mysqld
curl 127.0.0.1 获得页面