Возможные ошибки

Здесь приведено решение наиболее часто встречающихся ошибок в работе программы.

Не получается войти в программу

1) Повторите попытку в другом браузере (Opera, Firefox, Chome).
2) Наберите в браузере http://_адрес_программы/company/

если страница не существует (ошибка 404 Not Found), то
а) Проверьте наличие файла .htaccess в директории программы. Если его нет то залейте его из архива программы.
б) Для того чтобы файлы .htaccess можно было использовать, необходимы соответствующие настройки главного конфигурационного файла httpd.conf, где должны быть прописаны директивы, которые разрешат файлу .htaccess переопределять конфигурацию Web-сервера в каталоге. Список этих директив задается директивой AllowOverride. AllowOverride должен быть установлен в All.

если отобразиться форма для входа в программу, то
а) Проверьте наличие всех файлов программы, и в частности файла /js/general.js
б) Проверьте в каком регистре записан каталог и файл /js/JsHttpRequest/JsHttpRequest.js Вполне возможно что на хостинг он скопирован в нижнем регистре и возникает ошибка при его подключении. Если это так то перезалейте полностью каталог /js/JsHttpRequest с сохранением регистра в названии.
в) Проверьте указаны ли в файле /config.php данные для подключения к базе данных.
г) Проверьте работает ли сервер базы данных MySQL.
д) Проверьте задана ли в PHP директория на сервере для хранения сессии, параметр session.save_path. На эту директорию необходимо установить права 0777, если ее нет то нужно создать эту директориию. Если параметр session.save_path пустой то необходимо его прописать в конфигурационном файле PHP php.ini.

Не загружается сертификат

1) Повторите попытку в другом браузере (Opera, Firefox, Chome).
2) Установите права 0777 на директорию /cert и повторите попытку.
3) Проверьте чтобы архив с сертификатом открывался на компьютере обычным архиватором, если не открывается то пересоздайте сертификат заново.
4) Проверьте чтобы на сервере были установлены библиотеки PHP: zip, zlib, cURL и json. После устранения, необходимо повторить загрузку сертификата.
5) Установите параметр в php.ini mbstring.func_overload = 0 и повторите загрузку сертификата.
6) Проверьте что бы в PHP была указана директория для загружаемых файлов upload_tmp_dir, проверьте существует ли она физически, выставьте на нее права 0777.

0 баллов при загрузке сертификата

1) Установите права 0777 на директорию /cert и повторите попытку.
2) Проверьте чтобы архив с сертификатом открывался на компьютере обычным архиватором, если не открывается то пересоздайте сертификат заново.
3) Проверьте что бы сертификат был активным (не отозванным и не истёкшим) https://direct.yandex.ru/registered/main.pl?cmd=certList
4) Проверьте чтобы на сервере были установлены библиотеки PHP: zip, zlib, cURL и json. После устранения, необходимо повторить загрузку сертификата.
5) Доступ к API закрыт для пользователей «Легкого» интерфейса. Таким пользователям необходимо перейти на «Профессиональный» интерфейс. Доступ не предоставляется клиентам рекламных агентств: от их лица действуют агентства.
6) Если ничего из предложеного не помогло, то вероятно для данного пользователя доступ к API закрыт (ошибка API 510 Доступ заблокирован). В этом случае необходимо написать в службу поддержки API Яндекс Директ с просьбой открыть доступ к API на e-mail api@direct.yandex.ru

0 баллов при добавлении (обновлении) токена

1) Повторите попытку в другом браузере (Opera, Firefox, Chome).
2) Вы должны быть авторизованы в Яндекс под пользователем которого хотите добавить.
3) Проверьте чтобы на сервере были установлены библиотеки PHP: cURL и json.
4) Доступ к API закрыт для пользователей «Легкого» интерфейса. Таким пользователям необходимо перейти на «Профессиональный» интерфейс. Доступ не предоставляется клиентам рекламных агентств: от их лица действуют агентства.
6) Если ничего из предложеного не помогло, то вероятно для данного пользователя доступ к API закрыт (ошибка API 510 Доступ заблокирован). В этом случае необходимо написать в службу поддержки API Яндекс Директ с просьбой открыть доступ к API на e-mail api@direct.yandex.ru

Не происходит обновление ставок

1) Проверьте что бы кампания была активна и шли фактические показы объявлений. Для кампаний остановленных, с нулевым балансом, остановленным по временному таргетингу программа не корректирует цены.
2) Проверьте что бы в Директе была выставлена стратегия "Наивысшая доступная позиция".
3) Проверьте что бы в программе на кампании был указан основной режим. Если его нет программа не корректирует ставки.
4) Проверьте что бы было корректно установлено задание крона на выполнение скрипта cron.php с интервалом каждые 10 минут.
5) Уберите ограничения для параметров max_execution_time и memory_limit, выставив в php.ini значения max_execution_time = 0 и memory_limit = -1.
6) Посмотрите на возможные ошибки, запустив файл cron.php через консоль ssh (Предварительно выставьте в настройках программы интервал обновления 1 минута). После выполнения должно появиться сообщение TIME START = .. ::TIME END = .. ::PRICES UPDATED::OK и произойти обновление ставок.

Установленная цена не соответствует стратегии в программе

1) Посмотрите что бы в программе была статистика изменения ставок, если ее нет то см. пункт "Не происходит обновление ставок".
2) Проверьте что бы в Директе была выставлена стратегия "Наивысшая доступная позиция".
3) Проверьте что бы баланс кампании позволял нахождение объявления на выбранной позиции. При цене клика превышающей баланс, объявление будет размещаться по доступной цене.
4) Проверьте, возможно на объявлениях и фразах указаны режимы отличные от режимов кампании
5) Попробуйте отключить автоброкер в Директе для этой кампании.
6) "Вылет" объявления на 10-20 минут возможен при увеличении цены, т.к. программа корректирует ставки каждые 10 минут, и Директ учитывает новые цены с задержкой. Попробуйте сменить режимы с +0.01 на +5% либо +10%.

Перерасход. Не работает ограничение дневного бюджета

1) Проверьте что бы было корректно установлено задание крона на выполнение скрипта cron.php с интервалом каждые 10 минут.
2) Программа отключает кампанию когда израсходовано >90% дневного бюджета. Остановка кампании мгновенно невозможна, кампания может находиться в статусе остановки 10-30 минут, пока не будет остановлена фактически. Это может вызвать перерасход средств. Укажите меньший дневной бюджет, с учетом перерасхода.

Не загружается ни одна кампания

1) Попробуйте обновить токен пользователя.
2) Проверьте чтобы на сервере были установлены библиотеки PHP: cURL и json.
3) Доступ к API закрыт для пользователей «Легкого» интерфейса. Таким пользователям необходимо перейти на «Профессиональный» интерфейс. Доступ не предоставляется клиентам рекламных агентств: от их лица действуют агентства.

Загружаются не все объявления (кампании, ключевые фразы)

1) Проверьте что бы было корректно установлено задание крона на выполнение скрипта cron.php с интервалом каждые 10 минут.
2) Вероятно не хватает памяти либо ограничено время выполнения скрипта. Уберите ограничения для параметров max_execution_time и memory_limit, выставив в php.ini значения max_execution_time = 0 и memory_limit = -1.
3) Посмотрите на возможные ошибки, запустив файл cron.php через консоль ssh (Предварительно выставьте в настройках программы интервал обновления 1 минута). После выполнения должно появиться сообщение TIME START = .. ::TIME END = .. ::PRICES UPDATED::OK и произойти обновление ставок.

При нажатии на кнопку "Обновить", состояние "Идет обновление" подвисает

Ошибка не критическая. Вероятно что служба Nginx прерывает соединение спустя какое-то время (секунд 60 обычно) после отправления запроса, это и вызывает подвисание. Это не сказывается на работе программы. Вся информация по кампаниям обновляетя автоматически с интервалом указанным в настройках программы.

Ошибка Notice: Undefined index: .. in /var/www/... on line XX

Измените в php.ini параметр error_reporting = E_ALL & ~E_NOTICE (после внесения изменений необходимо перегрузить apache).

Ошибка Zend Optimizer not installed

На хостинге отсутствует Zend Optimizer. Если Вы используете VDS то установите самостоятельно Zend Optimizer или обратитесь к хостеру.

Ошибка Fatal error: Unable to read XXX bytes in /var/www/... on line 0

1) Перезалейте файлы программы через ФТП-клиент в бинарном режиме (двоичный, bin, binary). 2) Память выделеная под PHP меньше 32M, увеличить ее можно изменив в php.ini параметр memory_limit (рекомендуется указывать не менее 256M)

Ошибка Fatal error: Incompatible file format: The encoded file has format major ID...

Используется версия программы не предназначеная для работы на данной версии PHP. Это случается, если программу расчитанную для работы на PHP 5.2 (Zend Optimizer) установить на PHP 5.3 (Zend Guard Loader). Архив программы для PHP 5.3 доступен по ссылке http://ваша_ссылка_на_архив/php53

Ошибка ERROR: Table './direct/company' is marked as crashed and should be repaired

Ошибка свидетельствует о том что таблица `company` повреждена. Для ее востановления необходимо выполнить следующий SQL-запрос: REPAIR TABLE `company` (Запрос выполняется через phpMyAdmin). Могут быть повреждены и другие таблицы, восстанавливаются аналогично: REPAIR TABLE `имя_таблицы`.