Архив рубрики: Из жизни

Сюда тащатся заметки из ЖЖшки

Ошибка при при публикации 1С на веб сервере

Если серверная ОС 64х битная, а 1С 32х битная, в IIS будет вылезать ошибка

Ошибка HTTP 500.0 — Internal Server Error

Решение: необходимо разрешить IIS запуск 32х битных приложений. Запускаем консоль inetmgr и ставим свойство «Разрешены 32-разрядные приложения» в true:

 

Странное поведение nic.ru

Вчера начиная с 19:20 рухнула почта на NIC.RU Единичным счастливчикам удалось установить, что если сумел зайти в админку и поменять пароль на почтовый ящик, то доступ к почте восстанавливается. До техподдержки было дозвониться не возможно. Ни в форуме ни на других ресурсах представители NIC.RU происходящее не комментировали.

На форуме другие абоненты писали:

Пользователи жалуются, что от их имени идёт спам рассылка.

Так-же сегодня, части пользователям пришли сообщения вида:

Уважаемый клиент!

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

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

Инструкция по изменению пароля и настроек почтового ящика

При отсутствии проблем с доступом к почте никаких действий с паролем не требуется.

Примите наши извинения за доставленные неудобства.

Восстановили работу только около 12 дня сегодня.

Ну что я могу сказать? Судя посему у NIC.RU угнали базу паролей, а NIC.RU не нашли в себе смелости это признать.

Вызов скрипта на python из php с передачей произвольных данных

Редко,  но бывает необходимо из скрипта на PHP, вызвать на исполнение скрипт на python с передачей неких параметров и данных.

Мне например понадобилось потому что основной код у меня на PHP,  а вот часть которая отвечает за взаимодействие с онлайн кассой Атол — на python, и переписывать эту часть на PHP нет возможности (без большого гемороя) —  заголовки драйвера Атола под Linux есть только на python (dto9fptr.py и dto9base.py — поставляются в комплекте с драйвером).

Ниже приведен один из способов:

PHP:

<?php

$idkkm= _POST("idkkm");

$sql = "SELECT * FROM online_kkm where id='$idkkm'";
$result = $sqlcn->ExecuteSQL($sql) or die("Не могу выбрать список настроек!" . mysqli_error($sqlcn->idsqlconnection));
$param=array();
$param["mode"]="getinfo";
while ($row = mysqli_fetch_array($result)) {
    $param["ipaddress"] = $row['ipaddress'];
    $param["ipport"] = $row['ipport'];
    $param["model"] = $row['model'];
    $param["accesspass"] = $row['accesspass'];
    $param["userpass"] = $row['userpass'];
    $param["protocol"] = $row['protocol'];
    $param["logfilename"] = $row['logfilename'];
    $param["testmode"] = $row['testmode'];
    $param["libpath"] = $row['libpath'];
    $param["version"] = $row['version'];
    $ppath= $row['ppath'];
};
$jsonparam= base64_encode(json_encode($param));
$command = "/usr/bin/env python $ppath $jsonparam 2>&1";
$pid = popen( $command,"r");
while( !feof( $pid ) )
{
 echo fread($pid, 256);
 flush();
 ob_flush();
 usleep(100000);
}
pclose($pid);

?>

Python:

#!/usr/bin/env python2
#encoding: UTF-8
import sys, json,base64

prm=json.loads(base64.b64decode(sys.argv[1]))

print prm["ipaddress"]

Т.е. что мы сделали?

  1. В скрипте на PHP сформировали json строку с параметрами и закодировали её в base64
  2. Вызвали python скрипт с аргументом в кодированной строки
  3. Python скрипт соответственно обратно декодирует и обрабатывает json

Профит.

1С Розница 2.2 после обновления до 2.2.7.40 недостаточно прав

После обновления пользователи стали ловить такие ошибки:

 Исправляем:

Вариант 1

Вариант 2

Даем пользователю роль «Базовые права ИПП» (Интернет поддержки пользователей)