资讯专栏INFORMATION COLUMN

laravel使用中遇到的问题

maybe_009 / 3245人阅读

</>复制代码

  1. 又有一段时间没有学习了!迷茫,除了迷茫还是在迷茫!最近,公司接了一个laravel的项目,可惜没有phper,于是开始学习laravel,现在的情况就是还没学会走路就要开始跑了,所以遇到坑会摔得很痛!
安装出现的问题

安装步骤(5.3.*)

</>复制代码

  1. composer global require "laravel/installer"
  2. composer create-project --prefer-dist laravel/laravel blog "5.3.*"

出现的问题

①无法安装composer依赖

报错: php.ini 缺少mbstring

</>复制代码

  1. 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

解决: 先运行这个命令

</>复制代码

  1. php artisan key:generate

再运行

</>复制代码

  1. php artisan config:clear
③同事安装php出现的问题:php.ini启用openssl时报错openssl.dll找不到

错误显示他的配置默认去C:/php/ext/下去找openssl.dll文件
解决: 他开的是虚拟机,修改extension_dir = "./" 路径为绝对路径

④本地运行时post请求报错

报错:

</>复制代码

  1. TokenMismatchException in VerifyCsrfToken.php line 68:
  2. in VerifyCsrfToken.php line 68
  3. at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 137
  4. at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33
  5. at Pipeline->IlluminateRouting{closure}(object(Request)) in ShareErrorsFromSession.php line 49
  6. at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
  7. at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33
  8. at Pipeline->IlluminateRouting{closure}(object(Request)) in StartSession.php line 64
  9. at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
  10. at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33
  11. at Pipeline->IlluminateRouting{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
  12. at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 137
  13. at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33
  14. at Pipeline->IlluminateRouting{closure}(object(Request)) in EncryptCookies.php line 59
  15. at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 137
  16. at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33
  17. at Pipeline->IlluminateRouting{closure}(object(Request)) in Pipeline.php line 104
  18. at Pipeline->then(object(Closure)) in Router.php line 655
  19. at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 629
  20. at Router->dispatchToRoute(object(Request)) in Router.php line 607
  21. at Router->dispatch(object(Request)) in Kernel.php line 268
  22. at Kernel->IlluminateFoundationHttp{closure}(object(Request)) in Pipeline.php line 53
  23. at Pipeline->IlluminateRouting{closure}(object(Request)) in EnableCrossRequestMiddleware.php line 19
  24. at EnableCrossRequestMiddleware->handle(object(Request), object(Closure)) in Pipeline.php line 137
  25. at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33
  26. at Pipeline->IlluminateRouting{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
  27. at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
  28. at Pipeline->IlluminatePipeline{closure}(object(Request)) in Pipeline.php line 33
  29. at Pipeline->IlluminateRouting{closure}(object(Request)) in Pipeline.php line 104
  30. at Pipeline->then(object(Closure)) in Kernel.php line 150
  31. at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 117
  32. at Kernel->handle(object(Request)) in index.php line 54
  33. at require_once("E:phpStudyWWWmylaravellogpublicindex.php") in server.php line 21

原因:laravel为了防止跨站脚本攻击(CSRF),会自动为每个活跃用户的会话生成一个 CSRF「令牌」。该令牌用于验证经过身份验证的用户是否是向应用程序发出请求的用户。
解决:在app/Http/Middleware/VerifyCsrfToken中放行需要访问的地址。如

</>复制代码

  1. protected $except = [
  2. //
  3. /*,
  4. /wechat,
  5. ];
⑤遇到跨域问题(laravel跨域))

运行命令

</>复制代码

  1. php artisan make:middleware EnableCrossRequestMiddleware

自动在app/Http/Middleware下生成一个EnableCrossRequestMiddleware.php

</>复制代码

  1. </>复制代码

    1. }
  2. 增加中间件内容

  3. </>复制代码

    1. server("HTTP_ORIGIN") ? $request->server ("HTTP_ORIGIN") : "";
    2. $allow_origin = [
    3. "http://localhost:8000", // 允许跨域的列表了,可自行修改
    4. ];
    5. if (in_array($origin, $allow_origin)) {
    6. $response->header("Access-Control-Allow-Origin", $origin);
    7. $response->header("Access-Control-Allow-Headers", "Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN");
    8. $response->header("Access-Control-Expose-Headers", "Authorization, authenticated");
    9. $response->header("Access-Control-Allow-Methods", "GET, POST, PATCH, PUT, OPTIONS");
    10. $response->header("Access-Control-Allow-Credentials", "true");
    11. }
    12. return $response;
    13. }
    14. }
    15. 在内核文件注册该中间件(在 AppHttpKernel 类的 $middleware 属性添加,这里注册的中间件属于全局中间件)
    16. protected $middleware = [
    17. // more
    18. AppHttpMiddlewareEnableCrossRequestMiddleware::class,
    19. ];
  4. ⑥composer安装报错
  5. 报错:win7下使用命令行安装的composer使用时莫名其妙报错

  6. </>复制代码

    1. [JsonSchemaExceptionResourceNotFoundException] file_get_contents(file://): failed to open stream: No such file or directory
  7. 解决:下载Composer-Setup.exe,重新安装composer

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28917.html

相关文章

  • laravel安装jenssegers/laravel-mongodb拓展,以及遇到

    摘要:再次打开包内源码,发现了如下的细节敲黑板注意看路径,此时是包内知道原理之后,于是在配置文件中做了如下修改至此,,收工 项目中使用了mongoDB,所以就到最大的同性交友网站找到了星星最多的jenssegers/laravel-mongodb 包安装 1、根据README,找到本地laravel对应的包版本showImg(https://segmentfault.com/img/bVbr...

    icattlecoder 评论0 收藏0
  • laravel安装jenssegers/laravel-mongodb拓展,以及遇到

    摘要:再次打开包内源码,发现了如下的细节敲黑板注意看路径,此时是包内知道原理之后,于是在配置文件中做了如下修改至此,,收工 项目中使用了mongoDB,所以就到最大的同性交友网站找到了星星最多的jenssegers/laravel-mongodb 包安装 1、根据README,找到本地laravel对应的包版本showImg(https://segmentfault.com/img/bVbr...

    fizz 评论0 收藏0
  • PHPer、Laravel 面试可能会遇到问题及答案

    摘要:如何实现持久化持久化,将在内存中的的状态保存到硬盘中,相当于备份数据库状态。相当于备份数据库接收到的命令,所有被写入的命令都是以的协议格式来保存的。 最近社区里面有一篇文章引起了最多程序猿的关注,Laravel、PHPer 面试可能会遇到的问题,看评论区不少小伙伴们被难倒,对于一些问题同样难倒了我(其实有很多啦),趁着周末有空,又总结梳理了一遍,顺便来答一波题。由于个人技术水平有限,答...

    fanux 评论0 收藏0

发表评论

0条评论

maybe_009

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<