server technology

Server technology

Bitrix, MAMP, Mysql query error: (1364)

На локальном сервере под MAMP как всегда не вовремя появилась ошибка:

Mysql query error: (1364) Field ‘DELIVERY_ID’ doesn’t have a default value (400) INSERT INTO b_sale_order_delivery

Дело в sql-mode, нужно убрать строгий режим STRICT_TRANS_TABLES

Если нет доступа к my.cnf, можно так:

/bitrix/php_interface/after_connect.php добавить строку

$DB->Query(«set sql_mode=»»)

Bitrix на MAMP Pro и mod_rewrite

По умолчанию почему то не заработал ЧПУ на сайте, apache не хотел читать .htaccess, заходим FIle -> Edit Template -> Apache -> httpd.conf

; у меня строка 205

<Directory />
    Options Includes
    AllowOverride All ; меняем на All
</Directory>

AllowOverride директива

Синтаксис: AllowOverride override override …
Значение по умолчанию: AllowOverride All
Контекст: каталог
Состояние: основное

Когда сервер находит .htaccess файл (как определено AccessFileName) ему необходимо знать какие директивы, объявленные в том файле могут отменять ранее утановленную информацию доступа.

Эта директива может быть установлена в None, т.е. чтобы сервер не читал файл .htaccess. Если она установленна в All — сервер будет допускать все директивы .htaccess файла. Возможны следующие одно или несколько значений:

AuthConfig — допускает использование директив разрешения (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, require, и т.д..).

FileInfo — допускает использование директив, управляющих типами документа (AddEncoding, AddLanguage, AddType, DefaultType, ErrorDocument, LanguagePriority, и т.д..).

Indexes — допускает использование деректив управления индексацией каталога(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, и т.д..).

Limit — допускает использование основных директив управления доступом (allow, deny и order).

Options — допускает использование директив, управляющих специфическими особенностями каталога (Options и XBitHack).

Перенаправление на домен с www

RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www\.)(([a-z0-9_-]+)\.)+\w{2,4}$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=permanent,L]

Если кратко, то здесь условие проверяет домен на соответствие виду www.yoursite.com или www.subdomain.yoursite.com и т.д. А знак «!» говорит о том, что нам нужны домены, которые не попадают под это условие, то есть как раз yoursite.com и subdomain.yoursite.com. После чего происходит редирект на этот домен с добавлением www.

подсмотрено

Описания кодов состояния HTTP

1xx — Информационные коды

100 Продолжать, Continue
101 Переключение протоколов, Switching Protocols

2xx — Успешные коды

200 ОК
201 Создан, Created
202 Принято, Accepted
203 Не авторская информация, Non-Authoritative Information
204 Нет содержимого, No Content
205 Сбросить содержимое, Reset Content
206 Частичное содержимое, Partial Content

3xx — Коды перенаправления

300 Множественный выбор, Multiple Choices
301 Постоянно перенесен, Moved Permanently
302 Временно перемещен, Moved Temporarily
303 Смотреть другой, See Other
304 Не модифицирован, Not Modified
305 Используйте прокси-сервер, Use Proxy

4xx — Коды ошибок клиента

400 Испорченный Запрос, Bad Request
401 Несанкционированно, Unauthorized
402 Требуется оплата, Payment Required
403 Запрещено, Forbidden
404 Не найден, Not Found
405 Метод не дозволен, Method Not Allowed
406 Не приемлем, Not Acceptable
407 Требуется установление подлинности через прокси-сервер, Proxy Authentication Required
408 Истекло время ожидания запроса, Request Timeout
409 Конфликт, Conflict
410 Удален, Gone
411 Требуется длина, Length Required
412 Предусловие неверно, Precondition Failed
413 Объект запроса слишком большой, Request Entity Too Large
414 URI запроса слишком длинный, Request-URI Too Long
415 Неподдерживаемый медиа тип, Unsupported Media Type

5xx — Коды ошибок сервера

500 Внутренняя ошибка сервера, Internal Server Error
501 Не реализовано, Not Implemented
502 Ошибка шлюза, Bad Gateway
503 Сервис недоступен, Service Unavailable
504 Истекло время ожидания от шлюза, Gateway Timeout
505 Не поддерживаемая версия HTTP, HTTP Version Not Supported

Bitrix + svn + ssh, рабочий процесс над крупным проектом

bitrix svn, bitrix apiПоделюсь опытом по организации работы над крупным проектом команды удаленных разработчиков.

Итак что мы имеем, а имеем мы большой проект на Битриксе, в редакции бизнес. Сначала все так сложилось что все работали прямо на ftp. Как это не прискорбно но это так, и в принципе никто не кому не мешал. Работало примерно 3-4 человека. Но времена меняется, кто-то уходит из проекта по каким то причинам, кто-то приходил.

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

Что для меня правильно, это в первую очередь svn, и полный контроль кода. Так как меня как-то само собой выдвинули вперед, наверное потому что я самый старый на проекте (в смысле больше всех работаю с ним). Это не важно в принципе для меня, я за дело болею, суть в другом.

Итак какие шаги мы пытались сделать к нашей схеме работы.

Continue reading

Команды SSH

ssh

Наконец-то я перешел с win  на никсы. Скажу что ощущения более чем позитивные, наконец-то что-то новое появилось, что можно изучать и изучать. На самом деле я давно хотел перейти, мешала наверное все таки лень и отсутствие свободного времени. И вот я уже пару дней работаю на Линуксе. Есть преимущества и недостатки, но в целом гуд. Для себя я выбрал Ubuntu 9.10, хотя надо было сразу ставить Kubuntu, пришлось отдельно ставить KDE.

Ну как человек не привыкший к консоли абсолютно, немного тяжеловато приходится с командами shh. Вот что удалось найти:

Continue reading