thinkphp5.1 报错 <b>Fatal error</b>: Uncaught think\exception\ErrorException: mkdir(): Permission den

本文详细介绍了在PHP项目中遇到的mkdir() Permission denied错误,该错误发生在thinkexceptionErrorException中。解决方法是将项目根目录/runtime/log目录的权限更改为0777。

报错:

<b>Fatal error</b>:  Uncaught think\exception\ErrorException: mkdir(): Permission denied in /www/wwwroot/shop/thinkphp/library/think/log/driver/File.php: 53

解决:

把  项目根目录/runtime/log 目录的权限改成 0777即可

如图:

你遇到的错误是: ``` Parse error: syntax error, unexpected '.', expecting identifier (T_STRING) in /www/wwwroot/b.prcseller.com/public/assets/libs/trade/pay.php on line 6 ``` 这是一个 **PHP 解析错误(Parse Error)**,表示 PHP 解释器在解析代码时遇到了语法错误。具体来说: > `unexpected '.'` 表示你在某处使用了不合法的 `.` 拼接字符串操作符,而它期望的是一个类名、函数名或变量名等标识符。 --- ## 🔍 错误分析 我们重点看这句报错信息: - **文件路径:** `/www/wwwroot/b.prcseller.com/public/assets/libs/trade/pay.php` - **行号:** 第 6 行 - **错误类型:** `unexpected '.'`,即“意外地遇到了点号 `.`” 这个错误通常出现在以下几种情况中: ### ✅ 场景 1:命名空间写法错误(最常见) ```php use \extend.hehe.QrCode; // ❌ 错误:用了点号而不是反斜杠 ``` PHP 中命名空间必须用 **反斜杠 `\`** 分隔,不能使用点号 `.`。 #### ✅ 正确写法: ```php use \extend\hehe\QrCode; // ✅ 正确:使用反斜杠 ``` --- ### ✅ 场景 2:类名拼接错误 ```php $class = 'MyClass' . ; // ❌ 错误:拼接了一个空值 ``` 或者: ```php $obj = new SomeClass.(); // ❌ 错误:错误地使用了点号代替括号 ``` --- ### ✅ 场景 3:数组键使用了非法符号 ```php $arr = ['key'. => 'value']; // ❌ 错误:数组键后面用了点号 ``` --- ## 🛠️ 示例修复 假设你的 pay.php 文件第 6 行内容如下: ```php use \extend.hehe.QrCode; ``` 这是导致错误的原因。请修改为: ```php use \extend\hehe\QrCode; ``` --- ## 📂 确保类文件存在 确保你有如下文件结构和类定义: ``` /www/wwwroot/b.prcseller.com/ └── extend/ └── hehe/ └── QrCode.php ``` 其中 `QrCode.php` 的内容应该是: ```php <?php namespace extend\hehe; class QrCode { public function generate($text, $size = 300) { echo "生成二维码:" . $text; } } ``` --- ## 🧪 完整修复示例 ### ✅ 修改前(错误): ```php <?php // pay.php use \extend.hehe.QrCode; // ❌ 错误写法 $qr = new QrCode(); $qr->generate('https://example.com'); ``` ### ✅ 修改后(正确): ```php <?php // pay.php use \extend\hehe\QrCode; // ✅ 正确写法 $qr = new QrCode(); $qr->generate('https://example.com'); ``` --- ## 🧹 其他建议 - 清除缓存(如 ThinkPHP 缓存目录 `runtime/`) - 开启错误提示方便调试: ```php ini_set('display_errors', 1); error_reporting(E_ALL); ``` --- ##
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值