设为首页 收藏本站
查看: 572|回复: 0

[经验分享] LAMP 之 PHP 相关介绍

[复制链接]

尚未签到

发表于 2018-12-13 08:15:09 | 显示全部楼层 |阅读模式
  1 概述

  php: 脚本编程语言、嵌入到html中的嵌入式web程序语言,基于zend编译成opcode(二进制格式的字节码,重复运行,可省略编译环境)
2 PHP简介
.官网:http://www.php.net/
.PHP是通用服务器端脚本编程语言,主要用于web开发实现动态web页面,也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时,php还提供了一个命令行接口,因此,其也可以在大多数系统上作为一个独立的shell来使用
.Rasmus Lerdorf1994年开始开发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.019956RasmusLerdorf把它的PHP发布于comp.infosystems.www.authoring.cgiUsenet讨论组,从此PHP开始走进人们的视野。1997年,其2.0版本发布。
.1997年,两名以色列程序员Zeev SuraskiAndiGutmans重写的PHP的分析器(parser)成为PHP发展到3.0的基础,而且从此将PHP重命名为PHP: HypertextPreprocessor。此后,这两名程序员开始重写整个PHP核心,并于1999年发布了Zend Engine 1.0,这也意味着PHP 4.0的诞生。20047月,Zend Engine 2.0发布,由此也将PHP带入了PHP 5时代。PHP5包含了许多重要的新特性,如增强的面向对象编程的支持、支持PDO(PHP Data Objects)扩展机制以及一系列对PHP性能的改进
3 PHP Zend Engine
.Zend Engine是开源的、PHP脚本语言的解释器,它最早是由以色列理工学院(Technion)的学生AndiGutmansZeev
Suraski所开发,Zend也正是此二人名字的合称。后来两人联合创立了ZendTechnologies公司
.Zend Engine 1.01999年随PHP 4发布,由C语言开发且经过高度优化,并能够做为PHP的后端模块使用。ZendEnginePHP提供了内存和资源管理的功能以及其它的一些标准服务,其高性能、可靠性和可扩展性在促进PHP成为一种流行的语
言方面发挥了重要作用
.Zend Engine的出现将PHP代码的处理过程分成了两个阶段:首先是分析PHP代码并将其转换为称作Zend opcode的二进制
格式(类似Java的字节码),并将其存储于内存中;第二阶段是使用ZendEngine去执行这些转换后的Opcode
4 PHPOpcode
.Opcode是一种PHP脚本编译后的中间语言,类似于JavaByteCode,或者.NETMSLPHP执行PHP脚本代码一般会经过如下4个步骤(扫描-->分析-->编译-->执行)(确切的来说,应该是PHP的语言引擎Zend)
1、扫描:Scanning词法分析,PHP代码转换为语言片段(Tokens)
2、分析:Parsing语义分析,Tokens转换成简单而有意义的表达式
3、编译:Compilation将表达式编译成Opocdes
4、执行:Execution顺次执行Opcodes,每次一条,从而实现PHP脚本的功能
5 php配置
.php.ini的核心配置选项文档:
http://php.net/manual/zh/ini.core.php
.php.ini配置选项列表:
http://php.net/manual/zh/ini.list.php
php的模式为模块模式,和apache结合在一起,以模块的方式集合在apachehttp服务里,提供服务
php也可以独立的模式,和apache不在同一机器上,通过协议和apache进行通信
.php:脚本语言解释器
.配置文件:/etc/php.ini,/etc/php.d/*.ini
.配置文件在php解释器启动时被读取
.对配置文件的修改生效方法
/etc/httpd/conf.d/php.conf配置相关模块
当满足后缀为.php的文件,就给 x-httpd-php程序处理
Modules:重启httpd服务
FastCGI:重启php-fpm服务
./etc/php.ini配置文件格式:
/etc/php.ini
[foo]:SectionHeader
directive = value注释符:较新的版本中,已经完全使用;进行注释
#:纯粹的注释信息,取消#号,该行代码不能使用,仅注释信息
;:用于注释可启用的directive,取消;号,该行代码可以使用
/etc/php.ini
max_execution_time= 30 最长执行时间30s
memory_limit 128M 生产不够,可调大
display_errors  off 调试使用,生产不要打开,否则可能暴露重要信息
display_startup_errors off 建议关闭,php启动时的报错
post_max_size 8M 最大上传数据大小,生产可能临时要调大,比下面项要大,根据生产环境决定
upload_max_filesize 2M 最大上传文件,生产可能要调大
max_file_uploads = 20 同时上传最多文件数
date.timezone =Asia/Shanghai 指定时区
short_open_tag=on 开启短标签,如,php的一种格式,需要启用该配置才支持短标签 更改httpd.conf,设置主页为php文件
vim /etc/httpd/conf/httpd.conf

    DirectoryIndex   index.php index.html
6 php语言格式

格式一


格式二
例子
例子一
vim  a.php  注意后缀是php


例子二
例子三
.php测试代码
例子四
Php使用mysql扩展连接数据库
这里要安装php-mysql包才能测试 yum –y installphp-mysql;
.使用mysql扩展连接数据库的测试代码

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650713-1-1.html 上篇帖子: PHP系列(十三)PHP会话控制 下篇帖子: php中常用的字符串比较函数strcmp()实例解释
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表