Я унаследовал это веб-приложение PHP, которое генерирует PDF-файл из отчетов Crystal. Теперь я попробовал этот проект на другом сервере, он, кажется, работает правильно, но когда я пытаюсь просмотреть его на своем сервере разработки, он возвращает исключение:
Caught exception:
Failed to create COM object `CrystalReports.ObjectFactory.2': Class not registered
Отслеживание кода, и кажется, что это бросается этим:
$objectFactory= new COM("CrystalReports.ObjectFactory.2") or die("Unable to Create COM");
$crApp = $ObjectFactory->CreateObject("CrystalRuntime.Application.9") or die("Unable to Create Object");
Я попытался установить / переустановить CR Basic Runtime на моем сервере, но, похоже, он не работает (я использую 64-разрядный компьютер).
Я использую:
PHP 5.3.10,
Crystal Reports 9,
Apache 2.4
Я обычно получаю ошибку "Caught exception: Failed to create COM object "Name_of_the_COM_server": Class not registered"
когда COM-сервер не зарегистрирован на сервере, на котором работает WEB-сервер.
Вы можете зарегистрировать COM-сервер с Команда regsvr.
Я предполагаю, что Crystal Report можно зарегистрировать во время установки, так что вы можете проверить документацию Crystal Report.
Других решений пока нет …