LAMP-初识PHP

来源:互联网 发布:nginx apache php性能 编辑:程序博客网 时间:2024/06/07 14:18

  • LAMP-初识PHP
    • 前言
      • 什么是LAMP
      • PHP简介
    • 配置PHP
      • 配置文件和参数
      • 快速安装LAMP
        • CentOS 6
        • CentOS 7
      • PHP测试代码
      • Php使用mysql扩展连接数据库
        • 使用mysql连接数据库测试
        • 使用mysqli连接数据库测试

LAMP-初识PHP

 

这里写图片描述

 

前言

 

什么是LAMP?

 LAMP其实是一种网站解决方案:

  • L: linux
  • A: apache (httpd)
  • M: mysql, mariadb
  • P: php, perl, python

  常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

PHP简介

  PHP是通用服务器端脚本编程语言,主要用于web开发实现动态web页面,也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时, php还提供了一个命令行接口,因此,其也可以在大多数系统上作为一个独立的shell来使用。

  Rasmus Lerdorf于1994年开始开发PHP,它是初是一组被Rasmus Lerdorf称作“Personal Home Page Tool” 的Perl脚本, 这些脚本可以用于显示作者的简历并记录用户对其网站的访问。后来, Rasmus Lerdorf使用C语言将这些Perl脚本重写为CGI程序,还为其增加了运行Web forms的能力以及与数据库交互的特性,并将其重命名为“Personal Home Page/Forms Interpreter”或“PHP/FI”。此时, PHP/FI已经可以用于开发简单的动态web程序了,这即PHP1.0。 1995年6月, Rasmus Lerdorf把它的PHP发布于comp.infosystems.www.authoring.cgiUsenet讨论组,从此PHP开始走进人们的视野。 1997年,其2.0版本发布。

  1997年,两名以色列程序员Zeev Suraski和Andi Gutmans重写的PHP的分析器(parser)成为PHP发展到3.0的基础,而且从此将PHP重命名为PHP: Hypertext Preprocessor。此后,这两名程序员开始重写整个PHP核心,并于1999年发布了Zend Engine 1.0,这也意味着PHP 4.0的诞生。 2004年7月, Zend Engine 2.0发布,由此也将PHP带入了PHP 5时代。 PHP5包含了许多重要的新特性,如增强的面向对象编程的支持、支持PDO(PHP Data Objects)扩展机制以及一系列对PHP性能的改进。

 

 

配置PHP

 

配置文件和参数

配置文件: /etc/php.ini, /etc/php.d/*.ini
配置文件在php解释器启动时被读取

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

  • Modules:重启httpd服务
  • FastCGI:重启php-fpm服务

/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 开启短标签,如

 

  • php.ini的核心配置选项文档:

   http://php.net/manual/zh/ini.core.php

  • php.ini配置选项列表:

   http://php.net/manual/zh/ini.list.php

 

快速安装LAMP

CentOS 6

yum install httpd php php-mysql mysql-serverservice httpd startservice mysqld start

CentOS 7

yum install httpd php php-mysql mariadb-serversystemctl start httpd.servicesystemctl start mariadb.service

注意:要使用prefork模型

 

PHP测试代码

  • 显示Hello world!

 在主机192.168.15.71上配置php网页

[root@CentOS7 html]$vim a.php  1 <h1>  2 <?php echo "Hello world!" ?>  3 </h1>                 

 在主机192.168.15.61上,访问刚刚创建的php网页

[root@Centos6 ~]$curl 192.168.15.71/a.php<h1>Hello world!</h1>

 

  • 显示时间和phpinfo
<?phpecho date("Y/m/d");phpinfo();?>

这里写图片描述

 

Php使用mysql扩展连接数据库

 

使用mysql连接数据库测试

 在主机192.168.15.61上创建数数据库

[root@Centos6 ~]$mysqlmysql> create database testdb;mysql> grant all on testdb.* to testuser@'192.168.15.%' identified by 'centos';

 在主机192.168.15.71上配置php页面访问主机192.168.15.61上的数据库

[root@CentOS7 html]$vim index2.php<h1><?php$conn = mysql_connect('192.168.15.61','testuser','centos');if ($conn)        echo "OK";else        echo "Failure";mysql_close();?></h1>

这里写图片描述

 

使用mysqli连接数据库测试

 在主机192.168.15.71上配置php页面

[root@CentOS7 html]$vim index.php   1 <h1>  2 <?php  3 $mysqli = new mysqli('192.168.15.61','testuser','centos');  4 if(mysqli_connect_errno()){  5         echo "数据库连接失败!";  6         $mysqli=null;  7         exit;  8 }  9 echo "数据库连接成功!";                                                                 10  11 $mysqli->close(); 12 ?> 13 </h1>

这里写图片描述

 

 如果将主机61上的mysql服务关闭,数据库连接就会失败

[root@Centos6 ~]$service mysqld stopStopping mysqld:                                           [  OK  ]

这里写图片描述

 

原创粉丝点击