又有一段时间没有学习了!迷茫,除了迷茫还是在迷茫!最近,公司接了一个laravel的项目,可惜没有phper,于是开始学习laravel,现在的情况就是还没学会走路就要开始跑了,所以遇到坑会摔得很痛!安装出现的问题
安装步骤(5.3.*)
composer global require "laravel/installer" composer create-project --prefer-dist laravel/laravel blog "5.3.*"
出现的问题
①无法安装composer依赖报错: php.ini 缺少mbstring
laravel/framework v5.4.9 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
解决: 放开注释extension=php_mbstring.dll
②php artisan ser能运行但页面报错报错: The only supported ciphers are AES-128-CBC and AES-256-CBC
解决: 先运行这个命令
php artisan key:generate
再运行
php artisan config:clear③同事安装php出现的问题:php.ini启用openssl时报错openssl.dll找不到
错误显示他的配置默认去C:/php/ext/下去找openssl.dll文件
解决: 他开的是虚拟机,修改extension_dir = "./" 路径为绝对路径
报错:
TokenMismatchException in VerifyCsrfToken.php line 68: in VerifyCsrfToken.php line 68 at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->IlluminateRouting{closure}(object(Request)) in ShareErrorsFromSession.php line 49 at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->IlluminateRouting{closure}(object(Request)) in StartSession.php line 64 at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->IlluminateRouting{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37 at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->IlluminateRouting{closure}(object(Request)) in EncryptCookies.php line 59 at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->IlluminateRouting{closure}(object(Request)) in Pipeline.php line 104 at Pipeline->then(object(Closure)) in Router.php line 655 at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 629 at Router->dispatchToRoute(object(Request)) in Router.php line 607 at Router->dispatch(object(Request)) in Kernel.php line 268 at Kernel->IlluminateFoundationHttp{closure}(object(Request)) in Pipeline.php line 53 at Pipeline->IlluminateRouting{closure}(object(Request)) in EnableCrossRequestMiddleware.php line 19 at EnableCrossRequestMiddleware->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->IlluminateRouting{closure}(object(Request)) in CheckForMaintenanceMode.php line 46 at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137 at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33 at Pipeline->IlluminateRouting{closure}(object(Request)) in Pipeline.php line 104 at Pipeline->then(object(Closure)) in Kernel.php line 150 at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 117 at Kernel->handle(object(Request)) in index.php line 54 at require_once("E:phpStudyWWWmylaravellogpublicindex.php") in server.php line 21
原因:laravel为了防止跨站脚本攻击(CSRF),会自动为每个活跃用户的会话生成一个 CSRF「令牌」。该令牌用于验证经过身份验证的用户是否是向应用程序发出请求的用户。
解决:在app/Http/Middleware/VerifyCsrfToken中放行需要访问的地址。如
protected $except = [ // /*, /wechat, ];⑤遇到跨域问题(laravel跨域))
运行命令
php artisan make:middleware EnableCrossRequestMiddleware
自动在app/Http/Middleware下生成一个EnableCrossRequestMiddleware.php
}增加中间件内容
server("HTTP_ORIGIN") ? $request->server ("HTTP_ORIGIN") : ""; $allow_origin = [ "http://localhost:8000", // 允许跨域的列表了,可自行修改 ]; if (in_array($origin, $allow_origin)) { $response->header("Access-Control-Allow-Origin", $origin); $response->header("Access-Control-Allow-Headers", "Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN"); $response->header("Access-Control-Expose-Headers", "Authorization, authenticated"); $response->header("Access-Control-Allow-Methods", "GET, POST, PATCH, PUT, OPTIONS"); $response->header("Access-Control-Allow-Credentials", "true"); } return $response; } } 在内核文件注册该中间件(在 AppHttpKernel 类的 $middleware 属性添加,这里注册的中间件属于全局中间件) protected $middleware = [ // more AppHttpMiddlewareEnableCrossRequestMiddleware::class, ];⑥composer安装报错报错:win7下使用命令行安装的composer使用时莫名其妙报错
[JsonSchemaExceptionResourceNotFoundException] file_get_contents(file://): failed to open stream: No such file or directory解决:下载Composer-Setup.exe,重新安装composer
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28917.html
摘要:再次打开包内源码,发现了如下的细节敲黑板注意看路径,此时是包内知道原理之后,于是在配置文件中做了如下修改至此,,收工 项目中使用了mongoDB,所以就到最大的同性交友网站找到了星星最多的jenssegers/laravel-mongodb 包安装 1、根据README,找到本地laravel对应的包版本showImg(https://segmentfault.com/img/bVbr...
摘要:再次打开包内源码,发现了如下的细节敲黑板注意看路径,此时是包内知道原理之后,于是在配置文件中做了如下修改至此,,收工 项目中使用了mongoDB,所以就到最大的同性交友网站找到了星星最多的jenssegers/laravel-mongodb 包安装 1、根据README,找到本地laravel对应的包版本showImg(https://segmentfault.com/img/bVbr...
摘要:如何实现持久化持久化,将在内存中的的状态保存到硬盘中,相当于备份数据库状态。相当于备份数据库接收到的命令,所有被写入的命令都是以的协议格式来保存的。 最近社区里面有一篇文章引起了最多程序猿的关注,Laravel、PHPer 面试可能会遇到的问题,看评论区不少小伙伴们被难倒,对于一些问题同样难倒了我(其实有很多啦),趁着周末有空,又总结梳理了一遍,顺便来答一波题。由于个人技术水平有限,答...
阅读 1796·2019-08-30 15:55
阅读 981·2019-08-26 11:57
阅读 442·2019-08-26 11:29
阅读 3329·2019-08-26 10:49
阅读 1881·2019-08-23 18:40
阅读 1725·2019-08-23 16:04
阅读 3073·2019-08-23 11:01
阅读 2248·2019-08-23 10:56