Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #141 (permalink)  
Старый 10.02.2018, 16:10
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,
скрипт удалил второй,

крон на других скриптах работает хорошо.

Видно эту проблему никому не решить, очень много заморочек
Ответить с цитированием
  #142 (permalink)  
Старый 11.02.2018, 00:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от spinastr
Видно эту проблему никому не решить, очень много заморочек
Нет никаких заморочек, код очень простой. Можно запустить его из браузера для тестирования. Для этого на время теста кода сделать папку current доступной для внешнего доступа. Сделать это просто - закомментировав инструкцию в .htaccess. Откройте .htaccess на редактирование и перед строкой Deny from all поставьте решетку:

#Deny from all

Сохраните файл.

Примечание: этот файл вообще может иметь только эту одну строку, это будет равнозначно

<Files *>
Deny from all
</Files>

Теперь запустить скрипт запроса к ЦБ браузером - http:/domain_name/current/current.php.

Если будут ошибки, то они будут выведены в бразуер (правда в зависимости от настроек РНР на сервере не все их уровни могут выведены, но и это не проблема, можно определить их вывод на время теста). Причин ошибок, которые связаны только с сервером конкретным, может только две:

1) Права на папку, то есть в строках задания прав, о чем ранее говорилось: chmod($dir, 0777); и chmod($dir, 0644); Решается обращением в техподдержку.

2) На сервере РНР версии ниже 5.4. В этом случае будет ошибка по поводу объявления массива - []. В этом случае код записи полученных курсов в файл current.json переписать так:

file_put_contents('current.json',
        json_encode(
            array(
                'current' => array(
                'date' => date('j.n.Y'),
                'value' => $usd_curr,
                'rate' => intval($usd_curr > $usd_prev) 
            ),
            'previous' => array(
                'date' => date('j.n.Y', strtotime('-1 day')),
                'value' => $usd_prev,
                'rate' => intval($usd_prev > $last)
            )
        ))
    );


Все, более в коде файла current.php нет ничего, что вызывало бы проблемы. JSON_UNESCAPED_UNICODE - это константа, которая указывает не кодировать UTF как \хххх, а представлять как есть. Это было существенно для передачи стрелок в json, чтобы видеть их, а не юникод. Данная константа функции json_encode доступна в РНР с версии 5.4. Но ее наличие и в ранних версиях проблем у функции json_encode не вызовет - значение неопределенной константы равно NULL. Так как в последнем варианте сервер возвращает не символы стрелок, а integer и jsjon не имеет строк на русском, то наличие константы не нужно и она удалена.

Сделайте изменения указанные выше в коде current.php и опять запустите его браузером. Файл current.json изменяется, принимает курс от ЦБ?

Удалите решетку в .htaccess у Deny from all и сохраните файл, опять закрыв папку current.

Все, более никаких проблем с кодом быть не может. Далее проблемы могут быть только с cron.

Последний раз редактировалось laimas, 11.02.2018 в 00:40.
Ответить с цитированием
  #143 (permalink)  
Старый 11.02.2018, 01:50
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,

Версия php



Запуск через браузер дал просто белый результат, всё пусто.
Ответить с цитированием
  #144 (permalink)  
Старый 11.02.2018, 01:55
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

не могу теперь вообще зайти в папку current

Пишет:ошибка доступа

скачал папку, она пустая

и удалить папку current нельзя

Последний раз редактировалось spinastr, 11.02.2018 в 02:03.
Ответить с цитированием
  #145 (permalink)  
Старый 11.02.2018, 02:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Файлы папки. Инструкция в .htaccess уже закомментирована, можно вызывать файл из под браузера.

Последний раз редактировалось laimas, 17.11.2018 в 16:51.
Ответить с цитированием
  #146 (permalink)  
Старый 11.02.2018, 02:17
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,
как удалить ту папку теперь? Вдруг весь сервер полетит?
Ответить с цитированием
  #147 (permalink)  
Старый 11.02.2018, 02:32
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

Нужно удалить ту папку, не будет совпадать путь
Ответить с цитированием
  #148 (permalink)  
Старый 11.02.2018, 02:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от spinastr
Вдруг весь сервер полетит?
С чего вдруг?

Сообщение от spinastr
Нужно удалить ту папку, не будет совпадать путь
С чего вдруг не будет, если имя папки не изменялось?

Не надо ничего выдумывать. Загрузите файлы в папку и пробуйте. Если не будет работать, попробуйте заменить права папки на 700 (файлы папки тоже должны иметь эти права), в current.php строку chmod($dir, 0644); заменить на chmod($dir, 0700);

И попробуйте с этими правами.
Ответить с цитированием
  #149 (permalink)  
Старый 11.02.2018, 02:48
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,
а что стой папкой делать, current?

Я уже в поддержку написал, в неё зайти нельзя, удалить нельзя.

Просто ваши файлы залить?
Ответить с цитированием
  #150 (permalink)  
Старый 11.02.2018, 03:01
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от spinastr
Просто ваши файлы залить?
Если в папку нельзя зайти, то и загрузить в нее файлы не получится. Но коли входа нет, то откуда сведения, что в папке нет файлов?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод контента в модалном окне, чтобы к нему можно было обратиться по ссылке decadent42 jQuery 3 11.04.2016 15:12
Преключатель валют alexmixaylov jQuery 7 21.10.2014 13:10
Проблема с выводом курса валют bubanay Элементы интерфейса 0 20.12.2013 20:42
Вывод переменных MasterHrust Javascript под браузер 4 03.08.2011 15:41
Вывод данных в Друпал 6 из MySQL, небольшая работа torquemada Работа 1 22.05.2011 17:05