Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Веб сервер
  • Search

CRON: Permission denied Topic is solved

Вопросы по работе Веб сервера
Apache + Nginx, Nginx + PHP5-FPM
Post Reply
  • Print view
Advanced search
4 posts • Page 1 of 1
TITAN-UZ
Posts: 21
Joined: Tue Oct 07, 2014 3:43 pm

Os: Ubuntu 15x
Web: nginx + php-fpm
CRON: Permission denied
  • Quote

Post by TITAN-UZ » Mon Apr 09, 2018 8:17 am

Здравствуйте!
Как решит эту проблему с CRON :

Code: Select all

PHP warning: file_put_contents(/ga.js): failed to open stream: Permission denied
CRON

Code: Select all

/usr/bin/php -f /home/admin/web/rsg.uz/public_html/assets/components/cronmanager/cron.php
JS.PHP

Code: Select all

<?php
// CRON для автоматического обновления файлов стороних сервисов и счетчиков.
function downloadJs($file_url, $save_to, $end_block = false)
{
$content = file_get_contents($file_url);
file_put_contents($save_to, $content);
    if(file_put_contents($save_to, $content)){
        $file = basename($file_url);
        $size = filesize($save_to);
        $date = date('d/m/Y H:i:s');
        $eol = !$end_block ? PHP_EOL : PHP_EOL.PHP_EOL;
        $log = $date.' | '.$file.' | '.$size.$eol;
        file_put_contents($_SERVER['DOCUMENT_ROOT'].'/logs/loguploads.txt', $log, FILE_APPEND);
    }
}
// Для скриптов без расширения
// downloadJs('http://code.jivosite.com/script/widget/NuT1gBLsC6', realpath($_SERVER['DOCUMENT_ROOT']./media/js'). '/NuT1gBLsC6');

// Метрика
downloadJs('https://mc.yandex.ru/metrika/watch.js', realpath($_SERVER['DOCUMENT_ROOT'].'/js').'/watch.js');
// Google Analytics
downloadJs('https://google-analytics.com/analytics.js', realpath($_SERVER['DOCUMENT_ROOT'].'/js').'/analytics.js');
downloadJs('https://google-analytics.com/ga.js', realpath($_SERVER['DOCUMENT_ROOT'].'/js').'/ga.js');
//mail.ru

?>
JS CHMOD 777
Top

demian
Posts: 543
Joined: Thu May 16, 2013 5:19 am

Re: CRON: Permission denied
  • Quote

Post by demian » Mon Apr 09, 2018 11:19 am

file_put_contents($_SERVER['DOCUMENT_ROOT'].'/logs/loguploads.txt', $log, FILE_APPEND);


при запуске из консоли(crond) директива $_SERVER['DOCUMENT_ROOT'] не работает, переменная актуальна только для веб сервера.

вариант 1: необходимо использовать системные константы для определения пути __FILE__ или __DIR__ относительно обработку.
по хорошему необходимо добавить проверку запустился файл с консоли или через http

вариант 2: использовать curl 'http://rsg.uz/assets/components/cronmanager/cron.php'
Top

TITAN-UZ
Posts: 21
Joined: Tue Oct 07, 2014 3:43 pm

Os: Ubuntu 15x
Web: nginx + php-fpm
Re: CRON: Permission denied
  • Quote

Post by TITAN-UZ » Tue Apr 10, 2018 4:08 pm

Из консоль все работает
1 и 2 вариант тоже не работает
Top

admirko
Posts: 2
Joined: Fri Apr 13, 2018 12:00 pm

Os: CentOS 6x
Web: nginx + php-fpm
Re: CRON: Permission denied
  • Quote

Post by admirko » Sat Jun 07, 2025 6:02 pm

TITAN-UZ wrote: ↑
Tue Apr 10, 2018 4:08 pm
Из консоль все работает
1 и 2 вариант тоже не работает
Может работать "из консоли", потому что Вы запускаете скрипт от имени своего пользователя. У Вашего User'a могут быть права на используемые директории, при запуске cron'a - прав может не быть, если cron добавлен от имени другого пользователя.

Переменная $_SERVER['DOCUMENT_ROOT'] создаётся только при http запросе к web серверу. Посмотреть варианты решения можно, например, тут:
https://ru.stackoverflow.com/questions/ ... ument-root


Last bumped by TITAN-UZ on Sat Jun 07, 2025 6:02 pm.
Top


Post Reply
  • Print view

4 posts • Page 1 of 1

Return to “Веб сервер”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password