禁止全局csrf认证
在app/Http/Kernel.php中,$middleware表示全局中间件,而$routeMiddleware表示针对某个路由的中间件,所以只需要把csrf在$middleware中注释掉,然后在$routeMiddleware中添加'csrf' => 'App\Http\Middleware\VerifyCsrfToken'
如果要在某个路由上使用就这样:
Route::group(['middleware' => 'csrf'], function(){ // csrf保护的接口 Route::get('/', 'HomeController@index'); }
处理上传文件
$file = Input::file('upload_file");// 获取上传文件对象 $file->isValid() // 检验文件是否有效 $file->getClientOriginalName(); // 获取文件原名 $file->getFileName(); // 获取上传后缓存的文件的名字 $file->getRealPath(); // 获取缓存文件的绝对路径 $file->getClientOriginalExtension();// 获取上传文件的后缀 $file->getMimeType(); // 获取上传文件的MIME类型 $file->getSize(); // 获取上传文件的大小
手动清理配置缓存
php artisan config:cache
插入数据的时候出现MassAssignmentException in Laravel错误
需要给数据表设置可访问的字段,在Model里面
protected $fillable = array('字段1', '字段2');
php artisan db:seed出现[ReflectionException] Claxx XXXTableSeeder dows not exist错误
这是因为新增加了文件但是composer没有感知到,需要先执行composer dump-autoload
定义/修改字段类型为timestamp时出现错误:”Unknown column type “timestamp” requested.”
按照[How do I make doctrine support timestamp columns"external nofollow" target="_blank" href="https://github.com/cooperaj/laravel-redis-sentinel">类似的中间件
Class ‘Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory' not found
偶尔安装了某些个第三方库会出现这种幺蛾子,可以用这种方式解决composer require symfony/psr-http-message-bridge
更新表时出现AH00052: child pid 71 exit signal Segmentation fault (11)
原因可能是没有设置主键而直接在该表上面更新数据,导致ORM不知道到底该更新谁。并且Laravel不支持复合主键(https://github.com/laravel/framework/issues/5517,作者不支持这种做法)。这种情况,要么给该表添加唯一主键,要么只能用where直接更新了。
Error while reading line from server
Predis需要设置read_write_timeout=0或者-1,特别是daemon任务,最好设置不超时
PHP Fatal error: Uncaught exception 'ReflectionException' with message 'Class log does not exist' in /Users/freek/dev/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php
出现于5.2版本中,原因是.env文件中的配置的值,中间存在空格,如果中间有空格,需要将值用双引号包起来
Class env does not exist / Class request does not exist
通常出现在框架还未加载完成就报错,但是在处理错误的时候却使用了env()/request()这个功能,导致没有打印真实的错误。处理方式,一是不要使用app()->environment('...'),而是检查.env文件中是否有错误,例如包含空格的值,必须用双引号包围。我在自定义ExceptionHandler中遇到过几次
The given data failed to pass validation
认证出错却不知道具体错在哪里并且状态码是500,如果有用Dingo API,那么注意Request不要继承use Illuminate\Foundation\Http\FormRequest而应该是use Dingo\Api\Http\FormRequest
Call to undefined method setHidden
注意command的主逻辑不是fire而应该是handle
启动时报错Unknown: failed to open stream: No such file or directory in Unknown on line 0
可能是错误地删除了server.php文件,可以直接自己写一个:
/** * Laravel - A PHP Framework For Web Artisans * * @package Laravel * @author Taylor Otwell <taylor@laravel.com> */ $uri = urldecode( parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) ); // This file allows us to emulate Apache's "mod_rewrite" functionality from the // built-in PHP web server. This provides a convenient way to test a Laravel // application without having installed a "real" web server software here. if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { return false; } require_once __DIR__.'/public/index.php';
composer install时报错: Please provide a valid cache path
需要手动创建缓存目录,在storage/framwork下面新建sessions、views、cache文件夹即可
总结
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。