PHP + 1С удаленный через COM соединение #569954


#0 by negr78
Имеем: 1. Веб-сервер, отдельная машина в дата центре с Windows NT XOR 5.2 build 3790. Там самописный сайт на PHP. 2. Виртуальная машина в офисе, на которой 1C 8.1 файловая. Цель: Сайт должен запустить на 1С функцию (выписку квитанции). Далее данные с квитанцией обратно передать сайту. Что делали на тестовом компьютере (Server2003-R2), в здании: 1. Скопировали все dll от 1С в папку c:/windows/system32/ 2. Выполнили "regsvr32 COMCntr.dll" - библиотека успешно зарегистрировалась в Windows. 3. Запускаем PHP скрипт: $app = new Com("V81.COMConnector"); - срабатывает, все ОК. $res=$app->Connect(...) - ничего не возвращает ни true, ни false. PHP прекращает работу. Лог PHP пустой. Почему не работает подключение через PHP ? Может быть есть другой способ связать PHP+1C ?
#1 by WickeD
#2 by negr78
Спасибо. Но это все находил и читал раньше. 1. ссылка: описание синтаксиса, у нас все с ним ок. 2. ссылка: Через URL финансовые данные пускать не хочется. Проблему думается не на уровне PHP, а раньше...
#3 by Fragster
уже давно в 1с ест веб-сервисы, которые работаею не в пример быстрее и удобнее, чем ком
#4 by Serginio1
Вообщето для файловой должен быть путь "File=""c:InfoBasesTrade""; Подключите из 1С прежде чем пенять на PHP
#5 by Serginio1
А счего же быстрее? Там пул соединений тот же. Преобразование XML в объекты к ускорению не приводит. Просто с сервисами удобнее работать например через C# при генерации классов из схемы и работать со стаической типизацией
#6 by Fragster
ком - на "клиенте" (который в данном случае - веб сервер с ПХП), а веб сервис - на сервере 1с, ге уже сессии нужные созданы и сразу готовы к обслуживанию, не тратится время на инициализацию ком-объекта. в файловой версии, конечно, ХЗ, но может тоже есть
#7 by Serginio1
Там используется тот же пул соединеий который ты можешь указать MaxConnections,PoolCapacity,PoolTimeout для СОМ соединений,которые ты можешь настраивать и в default.vrd для вэб сервисов
#8 by Fragster
еще раз - 2 машины, на одной сайт с ПХП и нет 1са, на другой - 1с. автор попробовал влепить на машину с ПХП 1ску и дрючить там ком клиента 1ски, тянуть по сети данные всякие и прочее. в случае с веб сервисом - 1с стоит на 1 месте - там же, где и файл азы расположен, по сети передаются только итоговые данные. + на веб сервере не надо дополнительно делать тот самый пул соединений - он уже и так есть на сервере с 1с. ну и за винду не надо платить на сервере с ПХП, потому как ком там перестает испоьлзоваться
#9 by Serginio1
С таким же успехом сайт и Вэб сервис могут находиться на разных машинах. По сути IIS грузит wsisapi.dll которая по через СОМ загружает базу которая лежит в настройках default.vrd. Сделай сайт на машине где лежит база. Нет пробем. А так у тебя еще и не только межпроцессное взаимодействие но и уже сеть добавляется, а в случае с СОМ на машине с базой такового нет. Но на самом деле я сам за Вэб сервисы. При этом проще разделить работу между 1С и сайтом. Каждый занимается своим, причем разведены по разным машинам.
#10 by Deathless
установи полностью 1с и не будет вылетов. Кроме того насколько я помню при СОМ соединении все равно вызывается именно приложение 1с.
#11 by Deathless
А вообще это не самый лучший вариант создавать СОМ так как там большая нагрузка идет по ресурсам.
#12 by Kreont
Не : Srvr=//server1c; а так: Srvr=server1c;
#13 by Kreont
И кавычек что там много, строку можно прямо вписать:
#14 by Deathless
файловая =)
#15 by Kreont
тем более, для файловой строка будет: File=
#16 by Kreont
+ File=;Usr=;Pwd=
Тэги: Веб-мастеринг
Ответить:
Комментарии доступны только авторизированным пользователям