php
gladming
it爱好者
展开
-
宝塔面板fileinfo扩展安装失败
解决方法:创建一个虚拟内存,当安装fileinfo过程中遇到内存不足的情况下,会自动使用虚拟内存。创建一个swap大小为1G的空间,并设置其为开机启动。dd if=/dev/zero of=/swap bs=1024 count=1Mmkswap /swapswapon /swapecho “/swap swap swap sw 0 0” >> /etc/fstab代码执行完成后,我们就可以重新进入宝塔面板,点击安装fileinfo扩展,之后可顺利安装成功。...原创 2021-10-27 14:38:34 · 2409 阅读 · 0 评论 -
使用Docker构建PHP7.4 + Swoole + Redis镜像
Docker是一个用于开发,交付和运行应用程序的开放平台。开发者可以利用Docker来快速交付,测试和部署代码,从而大大减少编写代码和在生产环境中运行代码之间的差异,尤其是在多人合作开发项目时保持开发和生产环境一致性有着很重要的意义。Docker大家应该很熟悉了,Docker的安装这里就直接省略了,直接去Docker官方文档安装一下。如何创建一个镜像,主要有两种方法:1. 从现有的镜像基础上,创建容器并自定义后Commit成镜像;2. 利用Dockerfile,根据自己的需要,如同写shell脚本一般,转载 2020-09-21 15:41:03 · 711 阅读 · 0 评论 -
php设计模式-观察者模式
什么是观察者模式?从面向过程的角度来看,首先是观察者向主题注册,注册完之后,主题再通知观察者做出相应的操作,整个事情就完了从面向对象的角度来看,主题提供注册和通知的接口,观察者提供自身操作的接口。(这些观察者拥有一个同一个接口。)观察者利用主题的接口向主题注册,而主题利用观察者接口通知观察者。耦合度相当之低为什么要用观察者模式?观察者模式更多体现了两个独立的类利用接口完成一件本应该很复杂的事情。不利用主题类的话,我们还需要不断循环创建实例,执行操作。而现在只需要创建实例就好,执行操作的事儿只需要调原创 2020-07-23 14:49:41 · 97 阅读 · 0 评论 -
php设计模式-适配器模式
什么是适配器模式?把对某些相似的类的操作转化为一个统一的"接口"–适配器,或者比喻为某个"界面",统一或者屏幕那些类的细节.适配器模式还构造了一种"机制",使"适配"的类很容易增减,而不用修改与之交互的代码,符合减少代码间的耦合。为什么要用适配器模式?主要应用于"希望复用一些现成的类,但是接口又与复用环境不一致"的情况示例代码1.源(Adaptee)角色:Toy系列类保持不变<?phpabstract class Toy { public abstract func原创 2020-07-23 14:47:26 · 86 阅读 · 0 评论 -
php设计模式-注册树模式
什么是注册树模式?注册树模式通过将对象实例注册到全局对象树上,需要的时候将对象从全局对象树上取下来为什么要用工厂模式?前面讲到的单例模式解决了在整个项目中创建唯一对象的问题,工厂模式解决了不通过new解决实例对象的问题,考虑的是项目扩展与维护。总得来说单例模式和工厂模式可以产生更加合理的对象,那么怎么方便统筹调用这些对象呢,这时候就用到了注册树模式,不管你是单例模式,工厂模式还是二者结合生成的对象,都统统给我注册到树上,用某个对象的时候,直接从树上取下来就好。示例代码<?php .原创 2020-07-23 14:42:46 · 614 阅读 · 0 评论 -
php设计模式-工厂模式
什么是工厂模式?工厂模式是指根据不同的参数生成不同的类实例。为什么要用工厂模式?减少代码进行复制粘帖,耦合关系重,牵一发动其他部分代码,比如在项目中很多地方实例化某个类,现在突然发现类名不合适或者类中需要添加构造函数参数,难不成需要一个个改?典型的例子就是连接数据库,php中连接数据库有好几种方法,mysql扩展,mysqli扩展等,这个时候就可以用到工厂模式。示例代码<?php /** * php设计模式之工厂模式 */ class Db {原创 2020-07-23 14:40:08 · 246 阅读 · 0 评论 -
php设计模式-单例模式
什么是单例模式?单例模式是指在整个应用中只有一个实例对象的设计模式为什么要用单例模式?php经常要链接数据库,如果在一个项目中频繁建立连接数据库,会造成服务器资源的很大浪费,在团队合作项目中,也能够避免不同的程序员实例自己的对象,造成人为的系统消耗。单例模式的三大原则1.构造函数需要标记为非public(防止外部使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化2.拥有一个保存类的实例的静态成员变量$_instance3.拥有一个可以访问这个实例的公共静态方法示原创 2020-07-23 14:37:57 · 95 阅读 · 0 评论 -
php json_encode()处理中文和特殊字符
我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式, 还会在一定程度上增加传输的数据量.想让中文原样输出则可加上JSON_UNESCAPED_UNICODE参数符号不转义则可加上JSON_UNESCAPED_SLASHES两者可同时进行JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASH...原创 2020-05-08 17:14:10 · 2347 阅读 · 0 评论 -
Linux安装swoole
我的php安装目录:/www/server/php/74php.ini配置文件路径:/www/server/php/74/etc/php.ini1、安装swoolecd /usr/local/srcwget https://github.com/swoole/swoole-src/archive/v2.1.3.tar.gztar zxvf v2.1.3.tar.gzcd swoole-...原创 2020-03-21 14:03:37 · 1018 阅读 · 0 评论 -
linux php-fpm重启
首先要找到php-fpm.conf配置文件,查看pid的配置路径(不是安装路径),然后把下面对应的地方改掉才能正常执行。查看php-fpm进程数:ps aux | grep -c php-fpmcat /www/server/php/73/etc/php-fpm.conf看到pid = /var/run/php-fpm/php-fpm.pid平滑重启,执行kill -USR2 cat ...原创 2020-03-20 17:00:01 · 330 阅读 · 0 评论 -
ios端浏览器拍照上传到服务器,图片被旋转90度 php 解决方案
必须确保检测的图片是ios设备上传的完整图片,不要在前端压缩过的,因为压缩后的图片都是通过Canvas重新生成的新图片,所以不包含相关扩展信息如果前端要压缩请在前端获取扩展信息或者直接在前端转角度(从原始文件中获取扩展信息)if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')||strpos($_SERVER['HTTP_USER_AGENT'], ...转载 2020-03-18 17:08:58 · 468 阅读 · 0 评论 -
Windows php安装imagick扩展和imagemagick
安装imagick扩展和imagemagick转载 2020-01-15 11:27:41 · 183 阅读 · 0 评论 -
php报错:filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is dep
PHP7.3.0+弃用FILTER_FLAG_SCHEME_REQUIRED的解决办法今天本地调用一个接口报错了:filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated但测试环境没有报错,于是查看了一下测试环境的 PHP 版本,是7.1.5,而我...转载 2019-11-18 15:45:22 · 1403 阅读 · 0 评论 -
hello world
hello world你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在...原创 2018-12-11 10:35:31 · 100 阅读 · 0 评论