История одной и решение любой проблемы с сайтом


Ну, честно говоря, почти любой.

Я открою вам небольшой секрет. Подавляющее большинство проблем с сайтами, из-за которых заказчики обращаются ко мне за помощью, они вполне в силах решить самостоятельно. Да-да, все возможно. Иногда это сложно, иногда нет, но почти всегда возможно. Я напишу ниже, как они это могут сделать, а еще ниже – почему все же выгоднее обращаться ко мне в большинстве случаев.

Алгоритм решения практически любой проблемы с сайтом, JS или PHP

Смотрим на ошибки. Да-да, просто смотрим на имеющиеся ошибки. Читаем их, переводим и исправляем. Если не знаем, как это сделать, то вбиваем в строку поиска. В 95% случаев решение будет найдено. Причем на первой же странице поисковика.

Простой пример. Буквально на днях я выполнял работу для одного заказчика, заключавшуюся в переносе сайта с одного хостинга на другой. (Кстати, Юрий, все еще жду от вас отзыва – мне надо как-то обновлять этот раздел блога – пожалуйста :-) ) После самостоятельного переноса файлов заказчиком (точнее, некоего движка по обработке карт по спортивному ориентированию), на сайте появились ошибки, а работать он не стал – ну не захотел. Смотрим ошибки, возникающие при загрузке изображения.

move_uploaded_file(/var/www/u6834869/data/www/наш_сайт.ru/temp/274392464.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /var/www/u6834869/data/www/ наш_сайт.ru /include/helper.php on line 602
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpsm2bFb' to '/var/www/u6834869/data/www/ наш_сайт.ru /temp/274392464.jpg' in /var/www/u6834869/data/www/ наш_сайт.ru /include/helper.php on line 602
Посмотрите на ошибки сами – даже совсем не разбирающемуся в программировании человеку должно быть понятно, что скрипт не может создать и переместить файл, так как нет временного каталога. Решается просто – создаем папку temp в корне.

А вот дальше интереснее. Если вы обычный человек, никогда тесно не занимавшийся работой с сайтами, то ошибка у вас останется. А любой более-менее опытный веб программист автоматически устранит её. Как и почему?

Очень просто: так как в папку заливается файл, то надо разрешить это делать на сервере. У каждого файла и папки на любом сайте есть права доступа. Вот и мы должны поставить возможность читать и писать в эту папку temp всем пользователям.

Однако, этим ошибки у нас не ограничиваются. Успешно загрузив карту, мы не можем вывести её на экран. Сервер ругается:

PHP Fatal error:  Call to undefined function json_decode()
Что это значит? Это значит расширение JSON на сервере не установлено. Как решить? Необходимо сменить версию php с 5.1 на более высокую, к примеру 5.6.



Теперь ошибок не выводится. Точнее, ошибок PHP, а вот JS в консоли ругается

Google Maps API error: MissingKeyMapError
Начинаем копать и обнаруживаем, что для того, чтобы работать с Google Static Maps API, необходимо получить ключ. Проблема актуальна только для новых подключаемых сайтов, на старых ничего менять не надо.



Регистрируемся в Google Static Maps API, получаем ключ, добавляем его к скриптам, пробуем – и все работает!



Послесловие

Мог ли бы такое сам сделать заказчик? Конечно бы мог – ничего сложного нет. Потратил бы некоторое время на то, чтобы понять права доступа, на то, как смотреть ошибки JS (и что вообще это такое), как открывать консоль, как менять версию PHP, как получать ключи для Google Static Maps API и как найти, куда их подключать для скриптов.

Для человека, который совершенно не разбирается в программировании, на решение данной проблемы мог уйти не один день. Так что я все же рекомендую тем, кто не собирается заниматься созданием сайтов профессионально, все же обращаться ко мне – я сделаю быстро и без проблем. Пожалейте свое время. Если есть желание, то распишу процесс решения проблемы, объясню, в чем она заключалась и как можно избежать подобных затруднений в дальнейшем.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, личное, решение задач, сайтостроение, php




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.



Разработка программного обеспечения для вашего бизнеса
2D платформер на Unity: управляем котом с помощью джойстика
Инъекции SQL: основы защиты