每当我尝试在 Artisan 中更新我的项目时,我运行的命令都会起作用,但其中一些命令需要很长时间才能执行。
例如,这是我的一部分api.php:
Route::apiResource('questions', 'QuestionController');
Run Code Online (Sandbox Code Playgroud)
php artisan serve在我的终端上工作,并且这条路线是可以访问的。
但是当我删除这条questions路线时,我预计该路线host/questions将变得无法访问。然而,运行命令后大约一分钟,我仍然可以通过正常的 URL 访问该路由,就好像它没有被删除一样。
那么这里究竟发生了什么?这是由缓存引起的吗?如果是,我该如何防止这种情况?
我想要为我的 Laravel 项目提供离开重新加载功能。
我每次都使用ctrl+c,重新编译我的文件,并使用 Laravel和 PHP 。php artisan serve5.87.3.7
是否可以得到 $output 如下:
$output = Artisan::call('command:name');
Run Code Online (Sandbox Code Playgroud)
我在不同的帖子中尝试了许多解决方案,但它在我的 Laravel 5.2 上不起作用。
在此处输入图像描述当我在 laravel 中创建新项目并且我想构建身份验证时遇到问题...这是我的 cmd 命令:
laravel new laravel2030
cd laravel2030
composer require laravel/ui
php artisan ui bootstrap --auth
npm install
npm run dev
Run Code Online (Sandbox Code Playgroud)

我目前正在使用 Laravel 5 开发应用程序,但遇到了以下问题:
例如,当我包含来自外部服务器的 .js 文件时,脚本加载了未修改的 304 - 这很好。根据 chrome 的网络选项卡,它在 146 毫秒内加载。当我包含本地资产时,使用 {{ asset('path to asset') }} 我总是得到 200,并且加载文件需要更长的时间(大约 800 毫秒)。
如何管理缓存资产文件?我猜这是浏览器或网络服务器的问题。
我需要检查 Laravel 控制台命令是否存在,以及它是否在受保护的命令 var 中以调用它们。
我需要从另一个 Laravel 控制台命令调用它们。我想知道是否有类似的东西exists_command('mycommand:foo')
有什么办法可以做到这一点吗?
我知道这个功能已经在laravel 5.3 中添加了,但是我使用的是Laravel 5.1,我该如何使用5.1版本呢?我也在互联网上搜索过它,但只有5.3的解决方案。希望你能帮助我,也为那些有同样问题的人提供帮助。
database-migration laravel-migrations laravel-5.1 laravel-artisan
我删除了数据库中的所有表,但我的错误是:
table.questions 存在
所以我不能迁移它们,它是否也取决于其他东西?
migrate laravel laravel-5 laravel-migrations laravel-artisan
我正在使用Laravel 5.6.23
这是我的错误信息:
UnexpectedValueException
There is no existing directory at "C:\timereg-project\Laravel\storage\logs" and its not buildable: Protocol error
Run Code Online (Sandbox Code Playgroud)
目录日志确实存在于我的 Laravel 项目中。我试过这个不起作用:
php artisan cache:clear
php artisan clear-compiled
Run Code Online (Sandbox Code Playgroud)
我试过这个也不起作用:
composer dump-autoload
Run Code Online (Sandbox Code Playgroud)
如果我试试这个:
sudo chmod -R 777 storage
sudo chmod -R 777 storage
Run Code Online (Sandbox Code Playgroud)
我得到错误
chmod: cannot access 'Laravel/storage/logs': no such file or directory
Run Code Online (Sandbox Code Playgroud)
不起作用的命令:
composer update
Run Code Online (Sandbox Code Playgroud)
我该怎么办?感觉就像我被日志文件夹完全阻止了。
对不起,如果这个问题是重复的,但我在 StackOverflow 中阅读了很多相关问题,但没有一个解决了我的问题:
我创建了一个 Artisan 命令,该命令可以工作,并在其中注入了 Kafka 客户端服务作为第一个参数和一个具体类 BudgetsTransformer 作为第二个参数
class ConsumeBudgetsCommand extends Command {
public function __construct(FKafka $kafkaClient, BudgetsTransformer $transformer)
{
$this->kafkaClient = $kafkaClient;
$this->transformer = $transformer;
parent::__construct();
}
}
Run Code Online (Sandbox Code Playgroud)
AppServiceProvider 类看起来像:
class AppServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->bind('kafka.client', function ($app) {
return new \Weq\FKafka\FKafka();
});
$this->app->bind('budget.transformer', function ($app) {
return new BudgetsTransformer();
});
}
public function boot()
{
$this->app->bind('consume:budgets', function ($app) {
return new ConsumeBudgetsCommand($app['kafka.client'], $app['budget.transformer']);
});
$this->commands('consume:budgets');
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,所有工作正常...然后我决定创建一个 …
Laravel 中的控制台路线是什么?它是如何运作的?这是一个知识库问题。请用通俗易懂的语言解释一下。提前致谢。
我尝试在 Laravel 8.57.0 中运行此命令,但它不起作用:
PHP artisan make:auth
Run Code Online (Sandbox Code Playgroud)
错误是:
Command "make:auth" is not defined
Did you mean one of these?
make:test
make:request
make:migration
make:seeder
make:middleware
make:controller
make:provider
make:policy
make:event
make:console
make:job
make:listener
make:model
make:command
Run Code Online (Sandbox Code Playgroud)
我也尝试过
composer require laravel/ui
php artisan ui vue --auth
php artisan migrate
Run Code Online (Sandbox Code Playgroud)
但仍然有同样的错误。所以,我想要么我使用了错误的命令,要么我正在尝试做一些无法完成的事情。
也许有经验的人很可能会立即看出问题所在。
我经常发现自己在运行时打开了很多端口php artisan serve
Laravel development server started: <http://127.0.0.1:8000>
[Thu Dec 2 19:56:23 2021] Failed to listen on 127.0.0.1:8000 (reason: Address already in use)
Laravel development server started: <http://127.0.0.1:8001>
[Thu Dec 2 19:56:23 2021] Failed to listen on 127.0.0.1:8001 (reason: Address already in use)
Laravel development server started: <http://127.0.0.1:8002>
[Thu Dec 2 19:56:23 2021] Failed to listen on 127.0.0.1:8002 (reason: Address already in use)
Laravel development server started: <http://127.0.0.1:8003>
Run Code Online (Sandbox Code Playgroud)
在开始新的之前是否有办法杀死http://127.0.0.1:8000 ?
所以我的应用程序将位于http://127.0.0.1:8000..。
有关如何做到这一点的任何提示?
尝试寻找可靠的答案,但目前还没有。我当前的设置如下:
当 storage/ 和 bootstrap/ 的所有权设置为 www-data:www-data (chown) 时,应用程序运行良好。我遇到的唯一问题是,当我尝试运行composer或artisan命令时,它会给我一个错误:
生成优化的自动加载文件 Illuminate\Foundation\ComposerScripts::postAutoloadDump @php artisan package:discover --ansi UnexpectedValueException 无法打开流或文件“/home/amplr/portal.amplr.be/storage/logs/laravel.log”在追加模式下:无法打开流:权限被拒绝
当我将所有权设置回 ubuntu 用户时,作曲家和工匠工作,但应用程序抛出权限错误。完成作曲家命令后,我必须返回 www-data:www-data 。
我究竟做错了什么?