- Изменено
LeMaX10, дело не в правах, я думаю. Я использовал chmod -R 777 /var/www/cp.easydonate.ru/*
, чтобы рекурсивно выдать 777 права на всю директорию и подкаталоги
LeMaX10, дело не в правах, я думаю. Я использовал chmod -R 777 /var/www/cp.easydonate.ru/*
, чтобы рекурсивно выдать 777 права на всю директорию и подкаталоги
DontFollow123 нужные команды можно дать доступ пользователю на исполнение этих команд.
Часть команд выместить на выполнение, например - в очередях.
DontFollow123 ошибка на попытку записи. Возможные причины:
Я больше склоняюсь к правам и корявым настройкам nginx, fpm
LeMaX10, давайте не будем сейчас о безопасности исполнения скриптов, я сам знаю эту проблему и буду решать её в будущем. Сейчас вопрос об ошибках кэширования
LeMaX10 вот полный стэк ошибки
ErrorException: file_put_contents(/var/www/cp.easydonate.ru/storage/framework/cache/eb/41/eb4195f1b305264ee4e97076c6d26ba8162dc3ef): failed to open stream: No such file or directory in /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:133
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'file_put_conten...', '/var/www/cp.eas...', 133, Array)
#1 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(133): file_put_contents('/var/www/cp.eas...', '1608110163N;', 2)
#2 /var/www/cp.easydonate.ru/vendor/october/rain/src/Filesystem/Filesystem.php(244): Illuminate\Filesystem\Filesystem->put('/var/www/cp.eas...', '1608110163N;', true)
#3 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php(74): October\Rain\Filesystem\Filesystem->put('/var/www/cp.eas...', '1608110163N;', true)
#4 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(211): Illuminate\Cache\FileStore->put('partials1615413...', NULL, 600)
#5 /var/www/cp.easydonate.ru/vendor/october/rain/src/Halcyon/MemoryRepository.php(60): Illuminate\Cache\Repository->put('partials1615413...', NULL, Object(Illuminate\Support\Carbon))
#6 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(383): October\Rain\Halcyon\MemoryRepository->put('partials1615413...', NULL, Object(Illuminate\Support\Carbon))
#7 /var/www/cp.easydonate.ru/vendor/october/rain/src/Halcyon/Builder.php(649): Illuminate\Cache\Repository->remember('partials1615413...', Object(Illuminate\Support\Carbon), Object(Closure))
#8 /var/www/cp.easydonate.ru/vendor/october/rain/src/Halcyon/Builder.php(324): October\Rain\Halcyon\Builder->getCached(Array)
#9 /var/www/cp.easydonate.ru/vendor/october/rain/src/Halcyon/Builder.php(258): October\Rain\Halcyon\Builder->get()
#10 /var/www/cp.easydonate.ru/vendor/october/rain/src/Halcyon/Builder.php(248): October\Rain\Halcyon\Builder->first()
#11 /var/www/cp.easydonate.ru/modules/cms/classes/CmsObject.php(118): October\Rain\Halcyon\Builder->find('wallet/payout-f...')
#12 /var/www/cp.easydonate.ru/modules/cms/classes/ComponentPartial.php(104): Cms\Classes\CmsObject::loadCached(Object(Cms\Classes\Theme), 'wallet/payout-f...')
#13 /var/www/cp.easydonate.ru/modules/cms/classes/Controller.php(1003): Cms\Classes\ComponentPartial::loadOverrideCached(Object(Cms\Classes\Theme), Object(DontFollow\EasyDonate\Components\Wallet), 'payout-form-qiw...')
#14 [internal function]: Cms\Classes\Controller->renderPartial('::payout-form-q...', Array)
#15 /var/www/cp.easydonate.ru/modules/cms/classes/ComponentBase.php(143): call_user_func_array(Array, Array)
#16 /var/www/cp.easydonate.ru/plugins/dontfollow/easydonate/components/Wallet.php(41): Cms\Classes\ComponentBase->renderPartial('@payout-form-qi...', Array)
#17 /var/www/cp.easydonate.ru/modules/cms/classes/ComponentBase.php(187): DontFollow\EasyDonate\Components\Wallet->onChosePaymentType()
#18 /var/www/cp.easydonate.ru/modules/cms/classes/Controller.php(874): Cms\Classes\ComponentBase->runAjaxHandler('onChosePaymentT...')
#19 /var/www/cp.easydonate.ru/modules/cms/classes/Controller.php(742): Cms\Classes\Controller->runAjaxHandler('onChosePaymentT...')
#20 /var/www/cp.easydonate.ru/modules/cms/classes/Controller.php(374): Cms\Classes\Controller->execAjaxHandlers()
#21 /var/www/cp.easydonate.ru/modules/cms/classes/Controller.php(225): Cms\Classes\Controller->runPage(Object(Cms\Classes\Page))
#22 /var/www/cp.easydonate.ru/modules/cms/classes/CmsController.php(50): Cms\Classes\Controller->run('wallet')
#23 [internal function]: Cms\Classes\CmsController->run('wallet')
#24 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#25 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('run', Array)
#26 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Cms\Classes\CmsController), 'run')
#27 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\Routing\Route->runController()
#28 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\Routing\Route->run()
#29 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#30 /var/www/cp.easydonate.ru/plugins/alxy/captcha/middleware/CaptchaMiddleware.php(51): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#31 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Alxy\Captcha\Middleware\CaptchaMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#32 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#33 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#34 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#35 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#36 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#37 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#38 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#39 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#40 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#41 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#42 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#43 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#44 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#45 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#46 /var/www/cp.easydonate.ru/vendor/october/rain/src/Router/CoreRouter.php(20): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#47 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(170): October\Rain\Router\CoreRouter->dispatch(Object(Illuminate\Http\Request))
#48 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#49 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#50 /var/www/cp.easydonate.ru/vendor/october/rain/src/Foundation/Http/Middleware/CheckForMaintenanceMode.php(25): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#51 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): October\Rain\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#52 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#53 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#54 /var/www/cp.easydonate.ru/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#55 /var/www/cp.easydonate.ru/index.php(46): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#56 {main}
DontFollow123 Это тебе ответ на "иного выхода не нашел". На вопрос по теме уже даже причины дал выше. Другим помочь не могу, доступа к серверу не имею, понимая по настройкам не знаю, гадать на гуще - не возможно.
Смотри в первую очередь настройки сервера, если не уверен в правах. Либо отключай файловое кеширование путем установки default => 'array'. Если уверен в том что у тебя хорошо настроенный сервер и дело не в правах, тогда один из вариантов поставить memcache или redis, скинув Кеш из файлов туда. Там в принципе ни права, ни настройки сервера не должны мешать.
LeMaX10, я использую дефолтные настройки веб-сервера. ОЗУ хостинга 8гб, место на диске 100гб (использовано 5%)
DontFollow123 по стеку не сказать в чем именно проблема.
Виден запуск страницы, на которой вызывается wallet компонент и рендерится форма через partial, которая как раз и кешируется системой. Но возникает ошибка "отсутсвие директории", такая ошибка - причины в позапрошлом сообщении.
Последние 2 пункта можно откинуть, по стеку они не подходят, в принципе.
LeMaX10, спасибо за помощь. Поставил по дефолту метод кэширования array, ошибка больше не появляется. Посмотрим, будет ли так продолжаться
DontFollow123 метод кеширования "array" эквивалентно отключению кеширования. Тоесть аппликейшен кладет данные для кеша в память каждый раз при каждом запросе, и очищает при окончании запроса.
Так что будь аккуратнее с этим.
LeMaX10 Буду иметь в виду