PHP简介

人们常说,PHP是世界上最美的语言,缘何PHP的魅力如此之大呢,今天来带你揭开PHP神秘的面纱

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语言格式

<?php

…php code…

?>

 

 

基于LINUX系统的PHP布署

php:脚本语言解释器

配置文件:/etc/php.ini, /etc/php.d/*.ini

配置文件在php解释器启动时被读取

对配置文件的修改生效方法

Modules:重启httpd服务

FastCGI:重启php-fpm服务

Modules配置格式:

/etc/php.ini配置文件格式:

[foo]:Section Header

directive = value

注释符:较新的版本中,已经完全使用;进行注释

#:纯粹的注释信息

;:用于注释可启用的directive

max_execution_time= 30        最长执行时间30s

memory_limit 128M                 生产不够,可调大

display_errors off                      调试使用,不要打开,否则可能暴露重要信息

display_startup_errors off       建议关闭

post_max_size 8M                    最大上传数据大小,生产可能临时要调大,比下面项要大

upload_max_filesize 2M           最大上传文件,生产可能要调大

max_file_uploads = 20             同时上传最多文件数

date.timezone =Asia/Shanghai 指定时区

short_open_tag=on                   开启短标签,如<? phpinfo();?>

 

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:子进程数量以动态模式管理

         pm.max_children

         pm.start_servers

         pm.min_spare_servers

         pm.max_spare_servers

         pm.max_requests = 500

确保运行php-fpm进程的用户对session目录有读写权限

mkdir /var/lib/php/session

chown apache.apache /var/lib/php/session

 

配置fastcgi

(1)配置httpd,添加/etc/httpd/conf.d/fcgi.conf配置文件,内容类似

DirectoryIndex index.php

ProxyRequests Off

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1

注意:在HTTPD服务器上必须启用proxy_fcgi_module模块,充当PHP客户端

httpd –M |grep fcgi

cat /etc/httpd/conf.modules.d/00-proxy.conf

 

(2)虚拟主机配置

vim /etc/httpd/conf.d/vhosts.conf

DirectoryIndex index.php

<VirtualHost *:80>

    ServerName www.b.net

    DocumentRoot /apps/vhosts/b.net

    ProxyRequests Off

    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/apps/vhosts/b.net/$1

    <Directory “/apps/vhosts/b.net”>

         Options None

         AllowOverride None

         Require all granted

    </Directory>

</VirtualHost>

 

php-mysql

Php连接数据库三种方式:

1)使用mysql扩展连接数据库(渐已淘汰)

2)使用mysqli扩展连接数据库

3)使用pdo扩展连接数据库(主流);支持mysql外的其他一些数据库

 

测试代码:

1)PHP使用mysql扩展连接数据库的测试代码:

vim /var/www/html/test.php

<?php

$conn = mysql_connect(‘mysql_host’,’mysql_username’,’mysql_password’);

if ($conn)

echo “OK”;

else

echo “Failure”;

#echo mysql_error();

mysql_close();

?>

连接成功返回OK,失败则返回Failure

 

 

2)PHP用mysqli扩展连接数据库的测试代码:

vim /var/www/html/test.php

<?php

$mysqli=new mysqli(‘mysql_host’,’mysql_username’,’mysql_password’);

if(mysqli_connect_errno()){

echo “Failure”;

$mysqli=null;

exit;

}

echo “OK”;

$mysqli->close();

?>

连接成功返回OK,失败则返回Failure

 

 

3)PHP使用pdo扩展连接数据库的测试代码1:

vim /var/www/html/test.php

<?php

$dsn=’mysql:host=localhost;dbname=mysql’;

$username=’root’;

$passwd=’centos’;

$dbh=new PDO($dsn,$username,$passwd);

var_dump($dbh);

?>

连接成功返回object(PDO)#1 (0) { } ,失败则返回500状态码

 

PHP使用pdo扩展连接数据库的测试代码2:

vim /var/www/html/test.php

<?php

try {

$user=’root’;

$pass=’centos’;

$dbh = new PDO(‘mysql:host=localhost;dbname=mysql’, $user, $pass);

foreach($dbh->query(‘SELECT user,host from user’) as $row) {

print_r($row);

}

$dbh = null;

} catch (PDOException $e) {

print “Error!: ” . $e->getMessage() . “<br/>”;

die();

}

?>

成功返回:Array([user]=>root[0]=>root[host]=>127.0.0.1[1]=>127.0.0.1)…

失败返回:Error!

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/101390

(0)
上一篇 2018-06-23 11:03
下一篇 2018-06-23 11:25

相关推荐

  • 日志管理

    日志介绍 日志配置 日志管理 远程日志 基于MYSQL的日志

    Linux笔记 2018-06-25
  • 实验:在软件RAID搭建LVM逻辑卷进行管理

    在上一节我们了解到,RAID可以实现磁盘的高性能读写,并实现冗余,而LVM逻辑卷则可以实现磁盘的弹性扩展,那么如何将两者配合使用并将它们的优势充分发挥呢,今天我们来实验在软件RAID上搭建LVM逻辑卷

    2018-04-27
  • Linux 的用户、文件管理和权限

    Linux文件系统上的特殊权限 可执行文件上SUID权限   目录上的SGID权限 sticky 特殊权限数字法: 权限位映射: 设定文件的特定属性: 访问控制列表: 访问控制列表: 访问控制列表:        

    Linux笔记 2018-04-08
  • linux 文本处理三剑客

    grep 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行。 模式:由正则表达式字符及文本符所编写的过滤条件 grep  命令选项: 正则表达式: 基本正则表达式元字符      字符匹配: 正则表达式: 正则表达式: 正则表达式: 示例:a\|b: a或b    C\|cat :C或cat         \(C\|c\…

    Linux笔记 2018-04-15
  • 一次完整的http请求处理过程+MPM工作模式

     1、建立连接:接收或拒绝连接请求 2、接收请求:接收客户端请求报文中对某资源的一次请求的过程 Web访问响应模型(Web I/O)单进程I/O模型:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应多进程I/O模型:并行启动多个进程,每个进程响应一个连接请求复用I/O结构:启动一个进程,同时响应N个连接请求实现方法:多线程模型和事件驱动…

    2018-06-24
  • 文件管理

    window系统是多根架构,linux是多根架构 2.手动挂载光盘 mount /dev/sr0 /mnt (只有root用户才能使用) /proc 看到是内存中的数据,看的都是磁盘上不存在的,修改里面的内容会立即生效。 echo ‘- – -’ > /sys/class/scsi_host/host2/scan 新加的硬盘不重启也能被识别…

    Linux笔记 2018-07-29