使用Supervisor让PHP脚本常驻运行
前面我写了一种让PHP脚本在Linux下常驻后台运行的方法,是用定时任务实现的,不是太优雅。最近接触到一种新的技术,叫Supervisor,通过它可以很方便地让程序常驻运行,包括但不限于PHP。
以下是使用Supervisor的具体步骤:
1. 安装 Supervisor
Home of Little Jelly
前面我写了一种让PHP脚本在Linux下常驻后台运行的方法,是用定时任务实现的,不是太优雅。最近接触到一种新的技术,叫Supervisor,通过它可以很方便地让程序常驻运行,包括但不限于PHP。
以下是使用Supervisor的具体步骤:
1. 安装 Supervisor
PHP定义了许多函数,可以对多维数组进行排序。
下面介绍几种常用的方法:
1. array_multisort()函数
array_multisort()函数可以用来对多维数组进行排序。该函数可以通过将数组的第一个维度作为排序关键字,对不同维度的元素进行排序。
最近使用VS Code做开发时,遇到了一个奇怪的问题,在输入变量时,会出现两条一样的变量名的补全提示。
就像下图这样:
刚开始觉得没啥,时间一长越来越别扭,不仅会增加提示的高度,也会出现一些根据用不着的提示。
我安装的有`PHP Intelephense`扩展,会不会是扩展本身的问题呢?
PHP在循环中使用事务,需要特别小心,因为稍不注意,就会造成事务失败,代码看着没问题,但最后事务没有成功。
比如下面这段代码:
使用Ubuntu安装宝塔面板时,有些地方跟在CentOS下不太一样,所以需要注意一下,不然会有些意想不到的问题。
### 1. 时区
如果你用的是国外的服务器,Ubuntu上的宝塔不会自动把时区设为东8区,这跟CentOS上是不一样的,需要自己手动操作下。
时区如果设置不对,计划任务的执行时间就会相差8小时,所以设置正确的时区很重要!
众所周知,Swoole是PHP的一大利器。
Ubuntu 20.04通过apt命令安装的PHP版本是7.4,假设你已安装好PHP,现需要安装Swoole扩展。
直接通过pecl安装是不行的,会报需要php8,`pecl/swoole requires PHP (version >= 8.0.0), installed version is 7.4.3`,所以还是得编译Swoole源码,由于编译过程中需要使用`phpize`命令,所以先安装`php-dev`。
以下命令均以root用户执行,也可以用前面加`sudo`。
近期对Mac Mini M1版本做了个性能测试。
环境
1. 本地:Docker运行在Mac Mini 2018 i5-8500B下,分配 3C6G内存;
2. M1 :Mac Mini M1 8C16G内存,运行在AWS mac2.metal 专用主机上;
3. Google Colab:CPU和GPU实例,显卡Tesla K80/T4
测试项目主要有以下几项
PHP使用PhpSpreadsheet可以很方便读取Excel文件,包括多个工作薄的Excel.
安装依赖
上一篇讲了如何在FastAdmin的表格上给每一行加自定义的按钮,分为Dialog和Ajax两种,这篇着重讲下Dialog这种形式。
Dialog是打开一个弹窗,弹窗里是Html,类似添加/编辑的页面。
这里我们还是以实名认证操作为例。
先贴下field operate的代码
在PHP下上传文件时有时会报`413 Request Entity Too Large`错误,即上传的文件太大,要解决这个问题,需要同时修改nginx和php的配置。
nginx配置
nginx默认上传的文件最大是1M,太小了。
修改conf文件,加一行