Можно ли получить доступ к COM-объекту в Linux с PHP? - PullRequest
3 голосов
/ 22 июня 2009

Друг показал мне API, созданный с помощью COM-объекта и SOAP-интерфейса. Он показал мне, как это работает в php на windows, но у меня есть серьезные сомнения, достижимо ли это на linux или любой другой не-Windows OS. Спасибо!

Ответы [ 6 ]

5 голосов
/ 22 июня 2009

Библиотека COM в PHP является частью расширения только для Windows.

3 голосов
/ 22 июня 2009

Зависит от того, где работает COM-объект. Блок Linux может обслуживать COM-объект (ActiveX) для браузера Windows-клиента. Linux-блок может выполнять SOAP-вызов COM-объекта, работающего в Windows-блоке.

Но если вы хотите запустить COM-объект в Linux, его нужно, по крайней мере, перестроить для Linux и, вероятно, в нечто более Linuxy (.so). Возможно, любая поддержка PHP COM не перенесена в версию для Linux, но вы можете вызывать .so файлы с помощью привязок C.

2 голосов
/ 22 июня 2009

Насколько я знаю, COM зависит от Windows (хотя WINE или Mono могут запустить его под Linux). Поэтому, если COM используется как часть клиентского кода, вам может не повезти.

Если COM-объект работает на сервере Windows и предоставляет интерфейс SOAP, тогда у вас все будет в порядке - просто подключитесь к машине Windows по HTTP и сделайте запрос SOAP. Сервер нерелевантен.

1 голос
/ 22 июня 2009

Нет, вы не можете получить доступ к com-объекту из linux / unix. только с выигрышной машины.

Возможное решение состоит в том, чтобы установить на веб-машине Windows другой веб-сервер, который будет взаимодействовать с COM-объектом, а php с машины linux будет взаимодействовать с php на компьютере с Windows или создать веб-сервис вокруг этого COM?

1 голос
/ 22 июня 2009

Если демонстрационное приложение вашего друга вызывало COM API через интерфейс SOAP, то причин, по которым вы не можете получить доступ к функциональности на платформе, отличной от Windows, должно быть очень мало.

0 голосов
/ 22 июня 2009

может быть, дурачиться с вином, ты "мог бы" чего-то достичь ... но я сомневаюсь, что это стоит усилий ...

Полагаю, ваш лучший выбор - запустить сервер Windows, а затем найти способ взаимодействия с ним, предпочтительно через http ...

Если API уже предоставляет интерфейс мыла, используйте его (как сказал Кев), в противном случае вы должны разработать что-то подобное (как сказал Челлс), или, может быть, что-то еще более простое, например обычную домашнюю страницу get / post. ..

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