这2个有什么区别?哪个更适合简单的 VueJS 应用程序?我已经阅读了他们的文档几次,但仍然很困惑。非常感谢。
Laravel 版本:7.5.0 PHP 版本:7.2 数据库驱动和版本:Redis
一切正常,但突然出现此错误,我将 phpredis 更改为 predis 但错误相同。
重现步骤:我正在调用事件函数 event(new ChatsEvent($data));
LogicException: Please make sure the PHP Redis extension is installed and enabled. in /home/user/public_html/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php:76
Stack trace:
#0 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Support/helpers.php(428): Illuminate\Redis\Connectors\PhpRedisConnector->Illuminate\Redis\Connectors\{closure}(Object(Illuminate\Support\Facades\Redis))
#1 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(104): tap(Object(Illuminate\Support\Facades\Redis), Object(Closure))
#2 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(27): Illuminate\Redis\Connectors\PhpRedisConnector->createClient(Array)
#3 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php(31): Illuminate\Redis\Connectors\PhpRedisConnector->Illuminate\Redis\Connectors\{closure}()
#4 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php(111): Illuminate\Redis\Connectors\PhpRedisConnector->connect(Array, Array)
#5 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php(90): Illuminate\Redis\RedisManager->resolve('default')
#6 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/RedisBroadcaster.php(108): Illuminate\Redis\RedisManager->connection('default')
#7 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastEvent.php(64): Illuminate\Broadcasting\Broadcasters\RedisBroadcaster->broadcast(Array, 'ChatsEvent', Array)
#8 [internal function]: Illuminate\Broadcasting\BroadcastEvent->handle(Object(Illuminate\Broadcasting\Broadcasters\RedisBroadcaster))
#9 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(32): call_user_func_array(Array, Array)
#10 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Container/Util.php(36): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#11 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(90): Illuminate\Container\Util::unwrapIfClosure(Object(Closure))
#12 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(34): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#13 /home/user/public_html/vendor/laravel/framework/src/Illuminate/Container/Container.php(592): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, …Run Code Online (Sandbox Code Playgroud) 我刚刚在 AWS Elastic beanstalk 上部署了一个新的 laravel 7 应用程序。我注意到他们将 Apache 服务器更改为 Nginx 服务器。
https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-php.html
这是我的 api 后端 URL:http : //mappab-api-staging.mappab.com.br/
这是登录路线:http : //mappab-api-staging.mappab.com.br/login - 404 状态。
你有没有遇到同样的问题?我该如何解决?
我的 php.conf 放在 /etc/nginx/conf.d/elasticbeanstalk/ 是:
root /var/www/html/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ /\.ht {
deny all;
}
location ~ /.well-known {
allow all;
}
location ~ \.(php|phar)(/.*)?$ {
fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;
fastcgi_intercept_errors on;
fastcgi_index index.php;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type; …Run Code Online (Sandbox Code Playgroud) 我最近遇到了一个问题,我需要更改 Laravel 的供应商文件之一以获得所需的结果。该文件是vendor/laravel/framework/Illuminate/Routing/CompileRouteCollection.php.
在该文件内,需要更改一个函数。
protected function requestWithoutTrailingSlash(Request $request)
{
$trimmedRequest = Request::createFromBase($request);
$parts = explode('?', $request->server->get('REQUEST_URI'), 2);
$trimmedRequest->server->set(
'REQUEST_URI', rtrim($parts[0], '/').(isset($parts[1]) ? '?'.$parts[1] : '')
);
return $trimmedRequest;
}
Run Code Online (Sandbox Code Playgroud)
更具体地说,这部分:rtrim($parts[0], '/'). 为了使我的部分路线正常工作,需要删除最后的 / 。
我尝试在里面创建我自己的自定义类:App\Helpers\CompiledRouteCollection.php. 我在其中复制上面列出的函数并进行自己的更改。
应用\Helpers\CompiledRouteCollection.php
namespace App\Helpers;
use Illuminate\Http\Request;
class CompiledRouteCollection extends \Illuminate\Routing\CompiledRouteCollection
{
protected function requestWithoutTrailingSlash(Request $request)
{
$trimmedRequest = Request::createFromBase($request);
$parts = explode('?', $request->server->get('REQUEST_URI'), 2);
$trimmedRequest->server->set(
'REQUEST_URI', rtrim($parts[0], '').(isset($parts[1]) ? '?'.$parts[1] : '')
);
return $trimmedRequest;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我进入 App\Providers\AppServiceProvider …
我在 AWS 上有一个生产系统并使用 Laravel Forge。有一个正在处理作业的默认队列。
我已经创建了许多作业,现在希望删除它们(因为它们需要很多小时才能完成,而且我意识到我的输入数据很糟糕)。我创建了一个具有良好数据的新作业,但只有在所有其他作业完成后才会对其进行处理。
如何删除所有作业?
redis它之前是使用队列驱动程序设置的。我不知道如何删除作业,因此我将驱动程序切换到database,并重新启动服务器,认为这至少会让作业停止处理。然而,令我沮丧的是,它们仍在继续处理:-(
我什至从 forge ui 中删除了工作程序并重新启动了服务器:作业仍在处理。
为什么作业会继续被处理?
我怎样才能阻止他们?
我正在开发一个新的 Laravel 7.1 应用程序(不是升级)但似乎使用日期序列化会丢失时区。
配置/app.php
'timezone' => 'Europe/Zurich',
Run Code Online (Sandbox Code Playgroud)
修补匠的例子
>>> \Carbon\Carbon::parse('2020-06-22')->timezone
=> Carbon\CarbonTimeZone {#3251
timezone: Europe/Zurich (+01:00),
}
Run Code Online (Sandbox Code Playgroud)
>>> \Carbon\Carbon::parse('2020-06-22')->toJson()
=> "2020-06-21T22:00:00.000000Z"
Run Code Online (Sandbox Code Playgroud)
所以,当我解析日期时,我没有得到正确的日期。
>>> new \Carbon\Carbon('2020-06-21T22:00:00.000000Z')
=> Carbon\Carbon @1592776800 {#3266
date: 2020-06-21 22:00:00.0 +00:00,
timezone: "Z",
}
>>> (new \Carbon\Carbon('2020-06-21T22:00:00.000000Z'))->format('Y-m-d')
=> "2020-06-21"
Run Code Online (Sandbox Code Playgroud)
目前我正在这样做
$date = Carbon::parse('2020-06-21T22:00:00.000000Z')
->setTimezone(config('app.timezone'));
Run Code Online (Sandbox Code Playgroud)
作为替代方案,我可以更改模型中的默认日期格式,如文档中所述
/**
* Prepare a date for array / JSON serialization.
*
* @param \DateTimeInterface $date
* @return string
*/
protected function serializeDate(DateTimeInterface $date)
{
return $date->toIso8601String(); …Run Code Online (Sandbox Code Playgroud) 我正在将 Laravel Sanctum 与 Vuejs SPA 一起使用。两者都驻留在同一个顶级域中
Laravel backend : app.demo.localhost
Vue SPA : app-spa.demo.localhost
Run Code Online (Sandbox Code Playgroud)
当使用 axios 从 VueJS SPA 调用时登录和注销(端点)工作正常,并且 XSRF-TOKEN 已成功设置,但是当我调用其他 api 端点时,它给了我 401 未经授权。
在 axios 中,这是设置
axios.defaults.withCredentials = true;
Run Code Online (Sandbox Code Playgroud)
我有以下配置
在 Laravel .env 中
SESSION_DRIVER=cookie
SESSION_DOMAIN=.demo.localhost
SANCTUM_STATEFUL_DOMAINS=app-spa.demo.localhost
Run Code Online (Sandbox Code Playgroud)
在路由/Api.php
Route::middleware('auth:sanctum')->get('api/user', function (Request $request) {
return $request->user();
});
Run Code Online (Sandbox Code Playgroud)
在 cors.php
'paths' => ['api/*', 'sanctum/csrf-cookie', 'login', 'logout'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => true,
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
当我尝试使用 mailgun 和 laravel 7 发送电子邮件时,我收到此错误预期响应代码 250,但收到代码“550”,并显示消息“550 5.7.1 中继被拒绝”。但我不知道该怎么办
我有一个这样的嵌套资源路由定义:
Route::resource('posts.comments', 'CommentController');
Run Code Online (Sandbox Code Playgroud)
这会产生以下路线:
+--------+-----------+--------------------------------------+------------------------+------------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+--------------------------------------+------------------------+------------------------------------------------+------------+
| | GET|HEAD | posts/{post}/comments | posts.comments.index | App\Http\Controllers\CommentController@index | web |
| | POST | posts/{post}/comments | posts.comments.store | App\Http\Controllers\CommentController@store | web |
| | GET|HEAD | posts/{post}/comments/create | posts.comments.create | App\Http\Controllers\CommentController@create | web |
| | GET|HEAD | posts/{post}/comments/{comment} | posts.comments.show | App\Http\Controllers\CommentController@show | web |
| | PUT|PATCH | posts/{post}/comments/{comment} | posts.comments.update | App\Http\Controllers\CommentController@update | web | …Run Code Online (Sandbox Code Playgroud)