学习笔记
安装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(显示出版本信息)