laravel 加载三方类库或自定义类库

加载在 Packagist 上存在的三方类库不必多说,直接修改 composer.json,增加 require 部分类库名称,或者使用 composer require xx 直接引入,再使用 composer install 安装部署即可。而如果是那种在 Packagist 找不到,或者是一些自定义的类库,如果像自动加载到系统中,需要做一定的准备工作。首先选择创建一个目录存放自定义类库。比如:

PHP 使用 fgetcsv 读取 csv 文件内容中文乱码

使用 php 自带的 fgetcsv 读取 csv 文件内容,出现乱码。这是因为 csv 文件内容格式不是 utf 的,所以在读取和写入数据库时就会出现乱码,可以用 iconv 函数转换解决。修复后的 demo 如下(laravel 获取文件):$file = Input::file('xls_file_name'); $fp = fopen($file->getRealPath(), 'r

ubuntu crontab 任务不执行,日志报错:mailed 46 bytes of output but got status 0x00ff from MTA#012

如题,在测试站上部署 laravel 项目,但 CMD 命令行任务未定时执行。按照网上的教程排查 crontab 服务状态, service cron status,cron 服务显示运行中(active (running))。重启 cron 服务 service cron restart,依然无效。最后是排查 cron 的运行日志(/var/log/cron.log),发现了报错信息 maile

empty 与 isset 判断一个变量(数组下标)是否为空

在我的印象中只有 isset 可以判断一个变量是否设置,empty 去判断一个变量是否为空。并且,如果是数组下标未定义的变量,empty 判断还是会报错的。之后遇到反驳,说效果都一样,他测试过。测试环境是 laravel 5.2 + php 7.1 的 production 环境,确实没有报错,甚至修改成 development 开发模式,打开 app_debug,依然不会报错。想起之前开发过的项

laravel 路由注入的模型对象为空,获取不到数据

框架版本 : laravel 5.2问题描述需要对已存在的模型额外做一个添加筛选条件的列表,将之前的控制器、路由以及涉及到路由跳转的模型都复制了一份。# 用户管理 Route::resource('user', 'UserController', ['except' => ['show']]); # 增加用户角色为代理商的路由 Route::resource('agent', 'AgentC

宝塔面板安装 php80 版本的 fileinfo 扩展不能被识别

测试安装新的 [宝塔面板·腾讯云专享版](新腾讯云服务器)时,想要将一个之前测试 laravel 及 php80 新特性的 demo 放到服务器上。上传之后,在网站面板添加网站,网站根目录选择项目根目录,创建好之后点设置,选择网站目录,再把运行目录绑定到 /public 上,并取消勾选 [防跨站攻击(open_basedir)] 保存。PHP 版本选择的是安装好的 php80,伪静态选择 lara

laravel DataTables 查询关键词匹配关联表字段

Laravel 的 DataTables 库 可以在与前端简单交互,快速构建后台列表页面,包括所有字段的查询、排序等功能。这边因为刚接触这个 DataTables 库,只知道简单的格式化使用,在遇见需要查询关联表的字段时遇到了困难。正常的调用(摘自 github readme 示例):return datatables()->of(User::query())->toJson();,现

通过 h5 链接(外部)跳转微信小程序、支付宝小程序

2022-10-09微信小程序的 URL Scheme 已废,详细见 小程序链接生成与使用规则调整公告。官方对这一功能进行限制,层层加码。目前能调用接口生成一个最长 30 天时效的 URL Scheme 或者 link,到期需要重新生成,就像曾今的订阅消息,“别对我说永远永远,永远不是我要的明天”,给你的选择永远是爱用不用。跳转到微信小程序需要在微信小程序后台设置跳转到小程序的 URL Schem

Ubuntu 20.04 服务器 ping xxx: Temporary failure in name resolution 解决方法

很突然的,服务器不能对域名进行解析了,ping baidu.com 等网站是会报错:Temporary failure in name resolution,php 执行报错 php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution,感觉上这是同一问题造成的错误。将服务需要解析的域名添加到本

Mysql float/double 类型数据查询小数位数不对(精度失常)

原先项目有关金额的部分数据都会定义成 float 或 double 类型,可以肯定的是 32 位存储空间 float 和 64 位存储空间的 double 具有更高的精度。但在实际对数据进行加工,比如 sum 求和等得到的数据会出现更多位的小数。比如手动计算结果 7.75 使用了 sum 函数得到 7.750000059604645。从数字层面上可以很清晰的觉察到数据的精度发生了变化,但这却并不怪