PHP简介
PHP是通用服务器端脚本编程语言,主要用于web开发实现动态web页面,也是最早实现将脚本嵌入
HTML源码文档中的服务器端脚本语言之一。同时,PHP还提供了一个命令行接口,因此,其也可以
在大多数系统上作为一个独立的shell来使用
官方网站:http://www.php.net/
PHP 文件是什么?
PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
PHP 文件的默认文件扩展名是 “.php”
PHP 能做什么?
PHP 可以生成动态页面内容
PHP 可以创建、打开、读取、写入、关闭服务器上的文件
PHP 可以收集表单数据
PHP 可以发送和接收 cookies
PHP 可以添加、删除、修改您的数据库中的数据
PHP 可以限制用户访问您的网站上的一些页面
PHP 可以加密数据
通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,
比如 XHTML 和 XML。
为什么使用 PHP?
PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
PHP 提供了广泛的数据库支持
PHP 是免费开源的
PHP 易于学习,并可高效地运行在服务器端
php语言格式
1 | <?php |
基于LINUX系统的PHP布署
php:脚本语言解释器
配置文件:/etc/php.ini, /etc/php.d/*.ini
配置文件在php解释器启动时被读取
对配置文件的修改生效方法
Modules:重启httpd服务
FastCGI:重启php-fpm服务
###
Modules配置格式:
/etc/php.ini配置文件格式:
1 | [foo]:Section Header |
php.ini的核心配置选项文档:
http://php.net/manual/zh/ini.core.php
php.ini配置选项列表:
http://php.net/manual/zh/ini.list.php
FastCGI配置格式:
配置文件:/etc/php.ini,/etc/php.d/*.ini
Module下,重启Httpd服务
FastCGI模式下,重启php-fpm服务
配置文件格式
配置文件格式:[foo]:Section Header
Directive=value
注释符:# 纯粹的注释信息
; 用于注释可启动的指令
说明:在较新的版本中,已经完全使用”;”进行注释
fcgi服务配置文件:/etc/php-fpm.conf, /etc/php-fpm.d/*.conf
连接池:
pm = static|dynamic
static:固定数量的子进程;pm.max_children
dynamic:子进程数量以动态模式管理
1 | pm.max_children |
确保运行php-fpm进程的用户对session目录有读写权限
1 | mkdir /var/lib/php/session |
配置fastcgi
(1)配置httpd,添加/etc/httpd/conf.d/fcgi.conf配置文件,内容类似
1 |
注意:在HTTPD服务器上必须启用proxy_fcgi_module模块,充当PHP客户端
httpd –M |grep fcgi
cat /etc/httpd/conf.modules.d/00-proxy.conf
(2)虚拟主机配置
1 | vim /etc/httpd/conf.d/vhosts.conf |
php-mysql
Php连接数据库三种方式:
1)使用mysql扩展连接数据库(渐已淘汰)
2)使用mysqli扩展连接数据库
3)使用pdo扩展连接数据库(主流);支持mysql外的其他一些数据库
测试代码:
- PHP使用mysql扩展连接数据库的测试代码:
1 | vim /var/www/html/test.php |
连接成功返回OK,失败则返回Failure
- PHP用mysqli扩展连接数据库的测试代码:
1 | vim /var/www/html/test.php |
连接成功返回OK,失败则返回Failure
- PHP使用pdo扩展连接数据库的测试代码1:
1 | vim /var/www/html/test.php |
连接成功返回object(PDO)#1 (0) { } ,失败则返回500状态码
PHP使用pdo扩展连接数据库的测试代码2:
1 | vim /var/www/html/test.php |
成功返回:Array([user]=>root[0]=>root[host]=>127.0.0.1[1]=>127.0.0.1)…
失败返回:Error!