php官方地址:www.php.net
一、LAMP基本概念
LAMP请求流程:client --> http --->httpd -- >cgi --->application server(program file) -- > mysql --> mariadb
LAMP在centos 7上的程序包: httpd,php,php-mysql,mariadb-server。
LAMP在centos7启用服务:
systemctl start httpd.service
systemctl start mariadb.server
LAMP在centos 6上的程序包: httpd,php,php-mysql,mysql-server。
LAMP在centos6启用服务:
service httpd start
service mysqld start
注意:httpd工作在prefork MPM模式时,依赖libphp5.so模块;工作在event或worker模式,依赖libphp5-zts.so模块
二、安装 php + php数据库驱动 + mysql
安装php、php-mysql(php的数据库驱动程序)、mysql(数据库)
yum install php php-mysql
查看mysql程序的位置(centos7)
# centos6中叫mysql,centos7中可能mariiadb
# 查看mysql的安装位置
rpm-ql mariadb-server
# mysql服务器的程序文件:/usr/lib/systemd/system/mariadb.service
启用mysql:
systemctl start mariadb.service
查看php程序的位置
rpm -ql php
三、配置httpd+php
httpd+php组合,有三种方式:
php作为httpd的模块
cgi模式,较少使用
fastcgi(fpm):通过套接字访问。
方式一:php作为httpd的模块使用,直接使用,无需特殊配置
httpd -M
配置php.conf文件,直接使用,无需特殊配置
SetHandler application/x-httpd-php
测试:
php程序执行环境,test.php:
测试php程序与mysql通信,test2.php:
$conn=mysql_connect('127.0.0.1', 'root', '');
if ($conn)echo "OK";else
echo "Failure";mysql_close();?>
四、一个站点示例:
1.从网上下载wordpress源码。移动源码、配置php数据库连接。
#解压源码文件后,复制源码到/var/www/html文件#cp -a wordpress /var/www/html/#cd /var/www/html#ls#复php代码中的数据库配置示例文件,为数据库配置文件
cp wp-config-sample.php wp-config.php#配置数据库配置文件#vim wp-config.php#修改数据库名称、用户名(不要使用管理员)、密码
2.在数据库中,创建数据库用户wpuser、wpdb数据库
#mysql#1.创建用户wpuser,并授权wpdb数据库中的所有表的所有权限给此用户。注意在mysql中, localhost和127.0.0.1表示的意思不一样。#GRANT ALL ON wpdb.* TO 'wpuser'@'localhost' IDENTIFIED BY 'wppasswd'#GRANT ALL ON wpdb.* TO 'wpuser'@'127.0.0.1' IDENTIFIED BY 'wppasswd'#2.创建wpdb数据库#create database wpdb;#flush privileges;
测试wpuser用户:
mysql -uwpuser -pwppassd
3.或者使用phpMyAdmin管理mysql数据库。
phpMyAdmin:是mariadb基于WebGUI的程序
#将解压后的phpMyAdmin复制到网站目录#cp -a phpMyAdmin-4.4.14.1-all-languages /www/htdocs#或者使用软链接
ln -sv phpMyAdmin-4.4.14.1-all-languages pma
linux中,生成随机码
tr -d 'a-zA-Z0-9' < /dev/urandom | head -30 | md5sum
配置phpMyAdmin
#cd pma#cp config.sample.inc.php config.inc.php#vim config.inc.php
config.inc.php配置
$cfg['blowfish_secret'] = 'asdf23rzxdvwrfasgasdfw23r' #配置一串随机码作为secret
测试页面,如果出现mbstring错误。需要为php安装此字符相关的模块
#yum install php-mbstring
# systemctl reload httpd.service
设置数据库管理员root的密码:
#mysql
> set password for 'root'@'localhost'=password('123456');> set password for 'root'@'127.0.0.1'=password('123456');> flush privileges;
登录页面: http://172.16.100.9/pma
使用root用户登录,登录后,即可使用WEB界面管理数据库。