Я пытался найти руководство по перемещению общей папки, но из всего руководства кажется, что код отличается от кода версии 11. Структура папок, которую я хочу переместить, будет такой:
Я изменил файл public/index.php следующим образом:
<?php
use Illuminate\Http\Request;
define('LARAVEL_START', microtime(true));
// Determine if the application is in maintenance mode...
if (file_exists($maintenance = __DIR__.'/../program/storage/framework/maintenance.php')) {
require $maintenance;
}
// Register the Composer autoloader...
require __DIR__.'/../program/vendor/autoload.php';
// Bootstrap Laravel and handle the request...
(require_once __DIR__.'/../program/bootstrap/app.php')
->handleRequest(Request::capture());
Однако, когда я пытаюсь запустить php artisan serve, я получаю сообщение об ошибке
Symfony\Component\Process\Exception\RuntimeException
The provided cwd "C:\wamp64\www\my-project\program/public" does not exist.
Что нужно изменить, чтобы все заработало?






Чтобы заставить artisan использовать пользовательскую общую папку, вы можете отредактировать скрипт artisan , чтобы вызвать метод usePublicPath() для объекта приложения.
Измените эти строки:
$status = (require_once __DIR__.'/bootstrap/app.php')
->handleCommand(new ArgvInput);
к:
$status = (require_once __DIR__.'/bootstrap/app.php')
->usePublicPath('/your/public/folder')
->handleCommand(new ArgvInput);
@user1995781 user1995781 Я думаю, объект приложения создается несколько раз; в этом случае вам следует напрямую изменить bootstrap/app.php. Попробуйте заменить последнюю строку })->create(); на })->create()->usePublicPath('/your/public/folder');.
Спасибо за ваш ответ. Но внутри приложения при вызове
public_path()оно по-прежнему показывает старый общедоступный путь. Как я могу обновить его?