Я кодирую в php, и у меня есть проблема с общением с OpenOffice через COM. Мне уже пришлось отказаться от нескольких попыток сделать некоторые трюки openoffice на стороне сервера из-за того, что ничего не работает. Я смирился с тем, чтобы делать это локально, и обнаружил, что большинство людей, похоже, с этим согласны, довольно просто — не для меня, хотя и неожиданно для меня. Это сводится к тому, что эта команда не работает.
$osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.\n");
Не могли бы вы дать мне несколько советов, пожалуйста. Я скачал последнюю версию OpenOffice, и она хорошо работает при переносе с рабочего стола Windows, но это далеко не так. Можете ли вы сказать мне, что должно быть на месте, чтобы использовать код выше из php. В настоящее время я получаю длинную паузу, за которой следует ошибка, в которой говорится, что COM-объект не может быть инициализирован или похож на него — это происходит как локально, так и при запуске с моего веб-сайта.
Где / Как я могу узнать, зарегистрирован ли com.sun.star.moon.etc в моей системе и готов ли он к вызову? Какие разрешения требуются (что это вообще означает и как я могу изменить их, чтобы они были такими, какими они должны быть)? Я нашел службу в окнах под названием COM +, которая не работала, и запустил это, но это не помогло.
Любой — пожалуйста, помогите!
Заранее спасибо.
Пара предложений:
1) Убедитесь, что вы пытаетесь этот код только в Windows.
2) Чтобы вы могли использовать PHP-класс COM, вам сначала нужно включить его в php.ini. Поэтому добавьте это расширение строки = php_com_dotnet.dll и перезапустите Apache или IIS.
3) Установите OpenOffice на тот же компьютер, на котором работает ваш код (скрипт). Это сделать вещи немного проще. Возможно, вам придется установить разрешения с помощью dcomcnfg.
В попытке ответить на некоторые ваши вопросы:
1) Чтобы получить список объектов COM и установить разрешения, запустите dcomcnfg. Когда откроется окно «Службы компонентов», нажмите «Корень консоли» -> «Службы компонентов» -> «Компьютеры» -> «Мои компьютеры» -> «Конфигурация DCOM». Для получения дополнительной информации обратитесь к этому URL: https://technet.microsoft.com/en-us/library/Bb633148.aspx
Других решений пока нет …