PDFLib установлен, но не доступен в коде или не виден через phpinfo () - PullRequest
0 голосов
/ 09 февраля 2020

Я думаю, что неплохо справился с установкой PDFlib в системе (Ubuntu 18.04), но что-то еще не совсем правильно. Что я сделал до сих пор:

  • Следуйте инструкциям здесь: https://www.pdflib.com/fileadmin/pdflib/pdf/support/PDFlib-in-PHP-HowTo.pdf
  • Загрузил правильный файл php_pdflib.so и поместил его в каталог расширений I phpinfo()
  • Добавлено extension=php_pdflib.so в моем php.ini
  • Выполнено sudo systemctl restart apache2 для перезапуска Apache и перезагрузки расширений
  • Проверено с php -i | grep PDF независимо от того, был загружен бинарный файл или нет, результат выглядит положительным

    PDFlib  
    PDFlib Support => enabled  
    PDFlib GmbH Binary-Version => 9.2.0 
    

Теперь, когда я запускаю phpinfo(); с веб-страницы через файл, нет упоминания о PDFlib вообще. Когда я запускаю его через CLI, все кажется нормальным.

Я также пытался создать новый экземпляр PDFlib () через CLI и web. CLI работает, веб - нет.

Я что-то пропустил в процессе установки?

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

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

  • Я дважды проверил пути к файлам конфигурации и файлы через php -i и phpinfo();, чтобы увидеть различия между CLI и веб-интерфейсом.
  • Я удалил extension=php_pdflib из обоих php .ini файлов
  • Я переместил php_pdflib.so из каталога расширений на один уровень вверх, теперь он живет в /usr/lib/php напрямую
  • Я также переименовал его в phplib.so (но это было больше, чтобы целенаправленно разбить вещи и посмотреть, что произойдет
  • Я создал файл 30-pdflib.ini в /etc/php/7.3/fpm/conf.d и написал в нем только extension=/usr/lib/php/pdflib.so
  • Добавил эту строку в /etc/php/7.3/cli/php.ini, чтобы увидеть, есть ли разница
  • Я несколько раз пытался перезапустить Apache2, но phpinfo() не показывал никаких изменений для загруженных файлов конфигурации или модулей
  • Я сделал sudo reboot
  • Еще раз проверил, и теперь PDFlib загружается как для CLI, так и для веб

Так что, не уверен, что жесткая перезагрузка действительно исправила это , но мне кажется, что так. Может быть, это помогает кому-то еще. * 1 035 *

1 голос
/ 09 февраля 2020

Я также пытался создать новый экземпляр PDFlib () через CLI и веб. CLI работает, веб - нет.

это типичная ситуация. CLI PHP и PHP на веб-сервере могут иметь разную конфигурацию. Поэтому, пожалуйста, проверьте extension_dir, а также php .ini, который был загружен в ваш вывод phpinfo () вашего веб-сервера. Затем вы должны сделать ту же конфигурацию. Пожалуйста, проверьте также файл журнала PHP / Webserver на наличие сообщений об ошибках. Возможно, это может быть и проблема NTS / TS (многопоточность), но это будет упомянуто в сообщении об ошибке.

...