又有一段时间没有学习了!迷茫,除了迷茫还是在迷茫!最近,公司接了一个laravel的项目,可惜没有phper,于是开始学习laravel,现在的情况就是还没学会走路就要开始跑了,所以遇到坑会摔得很痛!
安装出现的问题
安装步骤(5.3.*)
出现的问题
报错: php.ini 缺少mbstring
解决: 放开注释extension=php_mbstring.dll
报错: The only supported ciphers are AES-128-CBC and AES-256-CBC
代码语言:javascript复制
php artisan key:generate
代码语言:javascript复制 php artisan config:clear
错误显示他的配置默认去C:/php/ext/下去找openssl.dll文件 解决: 他开的是虚拟机,修改extension_dir = "./" 路径为绝对路径
报错:
原因:laravel为了防止跨站脚本攻击(CSRF),会自动为每个活跃用户的会话生成一个 CSRF「令牌」。该令牌用于验证经过身份验证的用户是否是向应用程序发出请求的用户。 解决:在app/Http/Middleware/VerifyCsrfToken中放行需要访问的地址。如
⑤遇到跨域问题(laravel跨域))
运行命令
php
artisan
make:middleware
EnableCrossRequestMiddleware
自动在app/Http/Middleware下生成一个EnableCrossRequestMiddleware.php
<?php
namespace
AppHttpMiddleware; use
Closure; class
EnableCrossRequestMiddleware
{ /** * Handle an incoming request * @param IlluminateHttpRequest $request * @param Closure $next * @return mixed */
public
function
handle($request, Closure $next)
{ return $next($request); }
}
增加中间件内容
代码语言:javascript复制 <?php
namespace AppHttpMiddleware; use Closure; class EnableCrossRequestMiddleware
{ /**
* Handle an incoming request.
*
* @param IlluminateHttpRequest $request
* @param Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
$origin = $request->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使用时莫名其妙报错
代码语言:javascript复制[JsonSchemaExceptionResourceNotFoundException] file_get_contents(file://): failed toopen stream: No such file or directory
解决:下载Composer-Setup.exe,重新安装composer