php开发
这家伙很懒,还没填写该栏目的介绍呢~
网上搜这个很容易找到解决方案,三种模式,最简单也改动最小的就是在类前面加
#[AllowDynamicProperties]
不过有个问题,如果你引入了命名空间,那么上面这一句则需要和命名空间一样,因为其实它还是一个类,应该使用:
#[AllowDynamicProperties]
否则,会失效,一直提示标题的错误。
php开发PHP用PDO连接达梦数据库,报错显示乱码
主要是:PDOException: SQLSTATE[HY000]: General error: 这段代码后的中文是乱码
原因:https://tencentcloud.csdn.net/67628ea9f3b8a55e4e988f5f.html
需要创建一个配置文件,放到system下去,这点不友好
配置文件内容为:
CHAR_CODE=(PG_UTF8)...
php开发PHP8.2.21连接达梦数据库的配置
需要动态连接库
这个找了一圈,没地方下载,需要安装达梦数据库,并在里面的driver里面找。
这里放一个2024年12月比较新的,从PHP5.2到8.3都有,如图
然后是文件,就是这个附件:
php_pdo.rar
在这个里面找到你对应PHP版本的两个动态连接库,放到php的ext目录,放其他任何地方都可以,只是你放其他地方到时候需要指定目录,放ext下面
...
php开发thinkphp8使用create写入数据的时候无法获取自增长主键
官方文档:
https://doc.thinkphp.cn/v8_0/create_model.html#%E8%8E%B7%E5%8F%96%E8%87%AA%E5%A2%9Eid
官方获取自增长组件的方式很简单,就是create以后,直接获取返回对象的属性就可以了。
如下:
$info = ArticleInfo::create($data);
$articl...
php开发一个诡异的Thinkphp8的验证场景的错误,报错内存溢出Allowed memory size of
代码:
public function sceneDelete()
{
return $this->only(['id'])->append('id', 'checkAbleDelete');
}
这是一个删除场景的验证,id自带验证规则如下:
protected $rule = [
'id' =>...
php开发PHP8.2提示,Creation of dynamic property
以前得DAO,很多属性是动态的,就会报错。
网上很多解决方案,但是很多都是错的
很多是在类前加#[AllowDynamicProperties],而这个就是错的#[AllowDynamicProperties]
class User {
private int $uid;
}
$user = new User();
$user->name...
php开发PHP的GD库生成发光文字
用到一个开源库:
https://imagettftextblur.agjgd.org/examples/shadow/
github地址:https://github.com/andrewgjohnson/imagettftextblur
使用示例:
//引入文字发光
include __ROOTDIR__."libs/imagettftextblur/ima...
php开发oracle多字段排序,某个字段指定值排最后
参考:
https://zhidao.baidu.com/question/620647941694492292.html
语句就是:
orderby("replace(fh_sign_contract.status_flag,2,99) asc,fh_sign_contract.updated desc");
字符串排序还是很坑的。
php开发easywechat6推送动态模板消息
需求,从接口获取模板列表,并对获取到模板进行赋值
尝试多次,主要在构造data数组的地方:
$app=util::getWeiXin();
$api = $app->getClient();
$response = $api->post('/cgi-bin/template/get_all_private_template');
...
php开发thinkphp8 $request->controller()在中间件中获取不到值
在官方的文档中,中间件的定义部分,特别是应用中间件的定义,是在应用目录下定义middleware.php文件
并在文件中声明中间件即可。
实际操作时,会走中间件,但是,通过$request->controller()无法获取到控制器名称。
搜了一下,发现是需要在应用目录下创建config目录,并在里面定义route.php文件,在其中初始化中间件,这个有点奇怪,...
php开发WeCenter V4.1.0后台,话题管理,编辑已有话题报错:htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated
后台,话题管理,编辑已有话题报错:htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated
调试信息提示文件:
at FormBuilder->fetch() in Topic.php line 247
完整路径:
app/backend/content/Topi...
php开发本地PHP8.1配置wecenter4.1,点击个人中心的账号设置报错
报错信息:
htmlentities(): Passing null to parameter #1 ($string) of type string is deprecated
经检查发现,是模板中对值进行了转换,但默认初始值是null,因此需要转换一下
打开文件:app/common/controller/Frontend.php
第45行下面,添加:
if (is...
php开发本地PHP8.1配置wecenter4.1,点击首页的热门标签报错
报错信息:
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'peth5.aws_answer.id' which is not function...
php开发本地PHP8.1配置wecenter4.1报错:SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'peth5.aws_answer.id' which is
登录以后,点击个人主页报错:
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'peth5.aws_answer.id' which is not...
php开发本地PHP8.1配置wecenter4.1报错:[error] [0]Class "thinkfacadeFilesystem" not found
报错位置:
appcommonlibraryhelperUploadHelper.php:226
这是因为引入了thinkphp的Filesystem类,但是下载的压缩包里面没有包含。
修改composer.json,加入
"topthink/think-filesystem":"^1.0",
如图:
改成如图后,再composer update即可。
...
php开发本地PHP8.1配置wecenter4.1报错:[error] [0]thinkRequest::server(): Argument #2 ($default) must be of type string, null given,
报错位置:
appcommoncontrollerPlugins.php on line 89
找到文件位置,发现是从cookie中获取token时,没有初始化,导致的报错。
于是改一改:
$cookie_token=cookie('token');
$cookie_token=$cookie_token?$cookie_token:'';
...
php开发本地PHP8.1配置wecenter4.1报错:[error] [8192]explode(): Passing null to parameter #2 ($string) of type string is deprecated
只要打开了调试模式,定位到了文件,就可以解决了。
报错文件位于:
appcommonlibraryhelperUserAuthHelper.php:58
找到文件,在报错代码前面加一句:
$authArr = is_null($authArr)?'':$authArr;
就不再报错了。
php开发本地配置WeCenter V4.1.0的第三个问题:substr(): Passing null to parameter #1 ($string) of type string is deprecated
这个报错,和第一个报错类似,是在后台管理模块中,报错的。
报错的文件在公共文件,appfunction.inc.php:255行
找到这里,可以看到:
// 密匙c用于变化生成的密文
$key_c = $operation == 'DECODE' ? substr($string, 0, $c_key_length) : substr(md5(micr...