PHP
推荐链接
Laravel
打印SQL
use Illuminate\Support\Facades\DB;
DB::connection()->enableQueryLog(); //开启执行日志,加在需要打印的SQL语句之前
sql 执行的语句
print_r(DB::getQueryLog()); //获取查询语句、参数和执行时间
首次安装Laravel后进入public目录产生500 Server Error错误
打开配置文件 laravel/config/app.php,找到 'debug’项 设置为 true
刷新网页 抛出运行异常:No application encryption key has been specified.(未指定应用加密密钥)
在laravel目录下找到 .env.example,将其复制一份重命名为 “.env”
在laravel项目的目录下执行命令:php artisan key:generate,后刷新页面
执行方法需要在/storage文件夹里面写入时候产生file_put_contents相关的权限问题
//给予最高的权限,生产环境严禁使用
chmod -R 777 /var/www/html/
配置隐式路由(浏览器输入地址进行对应匹配)
Laravel9 可以正常使用
//在路由文件的最后面加上一个全局捕获的路由,然后自己对路由进行拆解匹配
Route::any('{url}', function ($url) {
echo $url;
})->where('url', '.+');
//根据上面基础代码进行修改,对url进行拆解得到下面的捕获路由方法
//路径:app/Http/Controllers/Test/CeShiController.php 在Controllers文件夹下面新建了一个文件夹Test,用来集中测试匹配需要的文件和对应方法。
//访问 域名/test/ceshi/index,或者 /test/ceshi (设置了默认的动作(action)为 index) 可以直接到对应方法了。
//注意 /test 这个跟文件夹Test没什么关系,可以不同名,主要是避免与其他功能性路由冲突,又为了更好的区分测试文件所有这样建。
Route::any('/test/{controller}/{action?}', function ($controller, $action = 'index') {
$controller = 'App\Http\Controllers\Test\\' . ucfirst($controller) . 'Controller';
if (class_exists($controller)) {
$controllerInstance = app()->make($controller);
if (method_exists($controllerInstance, $action)) {
return app()->call([$controllerInstance, $action]);
}
}
echo $controller;
abort(404);
})->where('controller', '[A-Za-z]+')->where('action', '[A-Za-z]+');