学习笔记

安装php之前必须安装MySQL Apache

一下我们都是使用源码包安装的

1. 安装mysql

cd /usr/local/src/ 

wget 下载

tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 

mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql 

useradd -s /sbin/nologin mysql 

cd /usr/local/mysql 

mkdir -p /data/mysql 

chown -R mysql:mysql /data/mysql 

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql (初始化)

cp support-files/my-large.cnf /etc/my.cnf 

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld 

vim /etc/init.d/mysqld   #修改datadir(填写路径)

chkconfig --add mysqld 

chkconfig mysqld/ on 

chkconfig --list mysqld(检查是否启动成功)

启动MySQL

service mysqld start 或者 、etc/init.d/mysqld( 如果启动不成功,别忘了关闭防火墙)

我们可以 ps aux|grep mysqld

或者查看端口  netstat -lnp|grep 3306

或者查看有木有文件生成 ls /data/mysql   里面有错误启动日志很有用在mysqld启动失败的时候可以查看


2. 安装apache

wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz

tar zvxf httpd-2.2.16.tar.gz  

cd httpd-2.2.16 

./configure --prefix=/usr/local/apache2(安装目录) --with-included-apr(apr被Apache依赖的东西,能够让Apache能在多平台使用)  --with-pcre(正则) --enable-mods-shared=most(模块)

make && make install 

检查是否成功

ls /usr/local/apache2/

启动Apache服务

/usr/local/apache2/bin/apachectl start

可以查看是否启动成功

 ps aux|grep httpd


3安装php

wget http://cn2.php.net/distributions/php-5.3.28.tar.gz 

tar zxf php-5.3.28.tar.gz 

cd php-5.3.28 

./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir   --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6 

安装出现错误时我们按照提示进行安装一般是这样

yum install -y xxx-devel

make && make install

4配置apache 

首先我们查看Apache的配置文件

vim /usr/local/apache2/conf/httpd.conf

静态动态模块

/usr/local/apache2/bin/apachectl -M

列出静态模块

/usr/local/apache2/bin/apachectl -l

检查是否语言有错

/usr/local/apache2/bin/apachectl -t

了解三种模式

prefork  worker events


vim /usr/local/apache2/conf/httpd.conf

找到:

AddType application/x-gzip .gz .tgz

在该行下面添加:


AddType application/x-httpd-php .php

找到:

<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

将该行改为:

<IfModule dir_module>

    DirectoryIndex index.html index.htm index.php

</IfModule>

找到:

#ServerName www.example.com:80

修改为:

ServerName localhost:80

有一个地方要注意:

<Directory />

    Options FollowSymLinks

    AllowOverride None

    Order deny,allow

    Deny from all

</Directory>


改为

<Directory />

    Options FollowSymLinks

    AllowOverride None

    Order deny,allow

    Allow from all

</Directory>

位置完成之后检测一遍看看有木有错误就行了

/usr/local/apache2/bin/apachectl -t

然后重新启动Apache服务

/usr/local/apache2/bin/apachectl restart

或者重新加载

/usr/local/apache2/bin/apachectl graceful

5. 测试解析php

vim /usr/local/apache2/htdocs/1.php

写入:


<?php

    echo 'aminglinux.com';

?>

在浏览器中输入IP/1.php即可

其他测试

<?php

    phpinfo();

?>


Loaded Configuration File 文件下显示(none)我们拷贝些文件过去,让它有显示

cp php.ini-production /usr/local/php/etc/php.ini

重新启动Apache服务,刷新浏览器即可,就会在

Loaded Configuration File   下显示/usr/local/php/etc/php.ini

简单介绍几个php的选项

cd /usr/local/php/

/usr/local/php/bin/php -m(列出一些静态编译的模块)

 /usr/local/php/bin/php -i(显示出命令行模式下的phpinfo的信息)

可能会报出时间错误这个警告

我们可以修改配置文件

/usr/local/php/etc/php.ini(php的配置文件)

修改timezone  即可  。。


 /usr/local/php/bin/php -v(显示出版本信息)