php框架

swoole框架快速入门

本秂侑毒 提交于 2020-03-10 05:54:33
swoole有两个部分。 一个是PHP扩展,用C开发的,这是核心。 另一个是框架,像yii、TP、Laravel一样,是PHP代码写的。 swoole扩展本身提供了web服务器功能,可以替代php-fpm。 而如果仅仅用swoole框架,可以像其它PHP框架一样,运行在nignx、apache等web服务器中。 swoole框架像PHP框架一样,适用于web开发。 而swoole扩展是提供了更底层的服务器通信机制,可以使用UDP、TCP等协议,而不仅仅是http。 安装方式上也不一样,swoole扩展像其它PHP扩展一样安装,可以用pecl,也可以编译安装。而swoole框架用composer引入之后安装即可,或者下载源码后手动include/require。 另外,swoole框架依赖swoole扩展,是swoole扩展的应用实例。 框架-Swoole扩展-Swoole文档中心 http://wiki.swoole.com/wiki/page/p-framework.html swoole扩展是基础,基于swoole扩展,可以做出多种框架,而不仅仅是web框架。 框架采用唯一接口对象机制。 调用框架的第一步,require('config.php');首先要包含config.php ,然后会生成$php对象。 如果在Controller、Model、View中,通过$this-

关于毕业五年PHP成长疑惑

荒凉一梦 提交于 2020-03-09 18:38:27
1.PHP语法基础是否都会,比如异常捕捉,面向对象,数组操作语法,字符串操作,cookie,session,全局变量,超全局数组,防止sql注入,mysql预处理 2.MYSQL基础语法,字段设计,原生sql语句,如何优化查询效率,索引如何使用,分组聚合,表关联(一对多,多对多),分库分表, 3.服务器:lnmp如何搭建,在搭建过程中,发生那些奇怪问题(PHP文件无法解析,访问PHP文件直接下载下来,vhost如何配置,php-fpm如何重启),你如何解决的? 4.API设计,访问控制权限(令牌模式访问API),如何防止API恶意调用,如何进行API版本控制,API错误返回码如何定义,postman工具使用 5.代码管理工具svn,git 如何进行代码合并,如何提交,jenkins代码自动发布构建,如何更新数据库字段 6.开发规范:local->dev->release->master (开发环境-》测试环境-》预发布环境-》正式环境) 7.开发工具使用:会使用debug吗,还在傻傻用echo,var_dump()? 8.框架 ThinkPHP,Yii,Laravel,是否阅读过源码,swoole了解过吗 9.高并发,大流量如何解决,负载均衡,服务器集群,微服务了解过吗 10.第三方API开发,微信公众号(API调用学习),微信小程序(登陆授权流程),(支付宝,微信支付支付流程)

PHP 安装

不问归期 提交于 2020-03-05 19:19:46
您需要做什么? 为了开始使用 PHP,您可以: 找一个支持 PHP 和 MySQL 的 Web 主机 在您自己的 PC 机上安装 Web 服务器,然后安装 PHP 和 MySQL 使用支持 PHP 的 Web 主机 如果您的服务器支持 PHP,那么您不需要做任何事情。 只要在您的 web 目录中创建 .php 文件即可,服务器将自动为您解析这些文件。 您不需要编译任何软件,或安装额外的工具。 由于 PHP 是免费的,大多数的 Web 主机都提供对 PHP 的支持。 在您自己的 PC 机上建立 PHP 然而,如果您的服务器不支持 PHP,您必须: 安装 Web 服务器 安装 PHP 安装数据库,比如 MySQL 官方 PHP 网站(php.net)有 PHP 的安装说明: http://php.net/manual/en/install.php PHP 服务器组件 对于初学者建议使用集成的服务器组件,它已经包含了 PHP、Apache、Mysql 等服务,免去了开发人员将时间花费在繁琐的配置环境过程。 WampServer Windows 系统可以使用 WampServer,下载地址: http://www.wampserver.com/,支持32位和64位系统,根据自己的系统选择版本 。 WampServer 安装也简单,你只需要一直点击 " Next " 就可以完成安装了。

PHP Session重新赋值失败 - session_write_close 小坑记录

心不动则不痛 提交于 2020-03-05 01:37:09
场景: 操作1:在接口A对$_SESSION['key']赋值A,即$_SESSION['key']=A; 操作2:在接口B对$_SESSION['key']赋值B,即$_SESSION['key']=B,同时输出$_SESSION['key']的值,结果为B; 操作3:在接口C取出 $_SESSION['key'] 的值,结果为A; 为什么呢?为什么呢? 作者百思不得其解。。。 以为是什么设置有问题导致的,上网找了一大堆资料,结果没用。 然后再几个小时后,发现框架里有个坑。。。 即:在操作1和操作2之间,有段检测入口的程序代码,在检测到接口不是A是,就关闭了session的写功能,即调用了函数 session_write_clode(); 这段代码只有1行,且在文件前面不起眼的地方,于是乎作者忽略了。。 原来 session_write_close() 应该是为了防止加载session阻塞了页面或者是出于安全考虑防止session被非法修改,所以就关闭了session的写入功能,但可以读取。。。 好吧,就是这个session_write_close()导致的。。 来源: CSDN 作者: 追逐吾之所求 链接: https://blog.csdn.net/jiongxian1/article/details/104652288

PhalApi 2.7 开发快速上手

佐手、 提交于 2020-03-04 18:30:18
PhalApi是一款国人制作的PHP纯后端框架。它的开发相当简单,同时也具备文档生成等特色功能。下面,我通过简单的几点,让你可以快速入门使用该框架的开发。 建议使用PHPStorm作为IDE,代码提示相当完全。由于PHP的热更新特性,修改过的PHP文件保存后立即生效,无需编译,无需重启服务器。 什么是PhalApi PhalApi是一个轻量级的PHP接口框架。有别于传统的框架,它 只面向后端接口 的开发。 官网:https://www.phalapi.net 官方文档:http://docs.phalapi.net/#/v2.0/ 安装PhalApi Composer是PHP的包管理器(类似于Java的Maven、node的npm)。 Composer的安装请参考https://pkg.phpcomposer.com/#how-to-install-composer,不要在英文官网直接下载安装包。 Composer安装后请立即切换到国内源https://developer.aliyun.com/composer。 Phar是PHP界的Jar包,可以像Jar包一样引入即用。 在项目目录下执行 composer create-project phalapi/phalapi 即可创建PhalApi项目,项目路径为 ./phalapi 。 若需要安装阿里云OSS的SDK,则在项目路径下

PHP成为web开发第一语言,虽饱受质疑,但事实不可否认

核能气质少年 提交于 2020-03-04 17:42:48
纵观全球流行编程语言,目前最火的web开发语言则属PHP,它一度也是web开发者们最喜欢的语言。随着全球经济互联网化,各大企业对web开发工程师需求日益增加。但因为一位好的Web开发工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。因此,如果你正准备学习计算机语言,不妨多多了解PHP编程语言、了解PHP开发工程师,一定会有想不到的惊喜等着你! 为什么PHP能从众多web开发语言中脱颖而出?这一切要从PHP的最初说起。 最初的PHP,只是一个很简单的脚本语言,不包含任何框架。随着时间的推移,加入了很多特性与开发框架,更能在创新后与其他语言相结合解决其性能问题。正是如此,使用PHP可以做出任何网站,它也渐渐被众多开发者所接受使用。 相对于其他语言,在技术领域,PHP中的框架数及使用数为第一。PHP有着广大的使用群体,他们会对其中的问题随时更新,提供大量可用的应用框架。当接触到一个项目时,开发者的第一选择通常就是PHP,然后他们会思考应该使用何种框架,因为PHP可以让他们在开发过程中有更短的时间跨度,只需要最简单的配置,从而可以节省很多时间。另外,学习PHP相对也是简单和快速的,它就是基于C/C++基本部分的。 另一个重点是,PHP很容易实现设计上的需求,因为有的PHP框架是现成的模板。当然,我们不可否认的是

解决cmd命令中显示‘php’非内部或外部命令

别来无恙 提交于 2020-03-04 07:06:47
废话不多说,上来先贴问题 在最近的项目中需要接触到fastadmin这个框架,然后看官方文档接触到了命令行一键生成代码的功能,大致意思就是在cmd中使用php的命令行来生成代码,但是照着官方文档的办法做使用命令行缺出现了php不是内部或外部命令这一句报错。 后来,在别人的帮助下了解到,这是系统解析不出php这个命令,解决的方式是配置全局php。 由于我是使用的phpstudy的集成软件,所以我的PHP文件都在一个文件里面。 我们需要用到的就是就是图中的这个路径,我们将这个路径复制,接着打开控制面板中 高级系统属性,修改环境变量中的path,将刚才路径添加到path中保存,重新打开cmd就可以了 然后再使用php命令就可以识别了,这里php -version就是显示当前的php版本。 来源: CSDN 作者: weixin_44238629 链接: https://blog.csdn.net/weixin_44238629/article/details/104640307

php高并发之opcache详解--真的可以变快

心已入冬 提交于 2020-03-01 19:19:59
客户的一台服务器,业务逻辑比较简单 。估算pv在120w左右吧,用的是阿里云2c4g的服务器。一大早就开始卡顿了,登陆服务器后查看负载到了八九十。 开整: 1.进入php,ini 搜索opcache 。 2,修改对应参数(如下) zend_extension=opcache.so #引入扩展 php7中默认已经装好了 可能是鼓励大家用吧 [opcache] ;opcache开关 opcache.enable=1 ;CLI环境下,PHP启用OPcache opcache.enable_cli=1 ;OPcache共享内存存储大小,单位MB opcache.memory_consumption=128 ;PHP使用了一种叫做字符串驻留(string interning)的技术来改善性能。例如,如果你在代码中使用了1000次字符串“foobar”,在PHP内部只会在第一使用这个字符串的时候分配一个不可变的内存区域来存储这个字符串,其他的999次使用都会直接指向这个内存区域。这个选项则会把这个特性提升一个层次——默认情况下这个不可变的内存区域只会存在于单个php-fpm的进程中,如果设置了这个选项,那么它将会在所有的php-fpm进程中共享。在比较大的应用中,这可以非常有效地节约内存,提高应用的性能。 这个选项的值是以兆字节(megabytes)作为单位,如果把它设置为16,则表示16MB

php和java两者的对比与取舍

社会主义新天地 提交于 2020-03-01 15:12:14
这样从几个方面来看: 一、运行机制: Java代码被编译成字节码后,会在虚拟机里由JIT进行二次编译成为本地码,据传言其执行速度可以和C++相媲美,经过我自己测试,用Java实现一个简单的Memcache协议的缓存服务器,在Java 1.6下运行,和memcache本身相比,同样数据量的存取时间比大概是3:2,虽然有差距,但是比想象的要好很多。Java 1.7在JIT方面做了大量的改进,性能比Java 1.6还要好。 PHP是直接对文本代码进行解释执行,即便有opcode缓存技术,仍然有不可逾越的性能鸿沟。PHP的opcode类似于java的class字节码,仍是解释执行。 二、处理并发: Java在并发处理上采取单进程多线程的方式,web应用会随着web server的启动而启动,而来自web 浏览器的请求将被分配给线程池内的闲置线程处理,也就是说当有请求到达的时候,进程是准备好的,线程是准备好的,Java要做的仅仅是业务逻辑处理了。 PHP在并发处理上时采取多进程的方式,在web server里没有物理的web应用概念,每个请求都相当于一个独立的应用,而进程也随着请求的到达才启动,而随着请求的结束而消亡。在Fast CGI环境下,有类似于线程池的进程池技术,对性能提高有很大的帮助。然而一方面web server和Fast cgi通讯仍需要通过socket,多出了一定的IO损耗

PHP_框架储备资料

自古美人都是妖i 提交于 2020-03-01 14:33:29
spl_object_hash($this); //返回指定对象的hash id,字符串,对于每个对象它都是唯一的,并且对同一个对象它总是相同。 debug_print_backtrace() debug_backtrace() //只是前者直接打印出来了而已。查看整个程序的调用栈,用来查看瞬间函数调用栈,方便查错。 is_callable() 验证变量的内容能否作为函数调用。 这可以检查包含有效函数名的变量,或者一个数组,包含了正确编码的对象以及函数名。 is_callable($object, true, $method_name) is_callable('parent::__construct') is_callable(array('User', 'showAge')) 来源: oschina 链接: https://my.oschina.net/u/1425152/blog/637223