Как подключить модуль в php
Перейти к содержимому

Как подключить модуль в php

  • автор:

Как подключить модуль в php

Если установлены необходимые библиотеки, то модуль можно установить с помощью опции —with-enchant[=dir] при компиляции PHP.

Пользователи Windows должны включить php_enchant.dll , чтобы использовать модуль.

Замечание: Дополнительная настройка в Windows

Чтобы модуль работал, системной переменной PATH , которую содержит операционная система Windows, дают доступ к DLL -файлам. Раздел FAQ «Как добавить директорию PHP в переменную PATH в Windows» рассказывает, как это сделать. Не рекомендуют копировать DLL-файлы из директории PHP в системную папку Windows, хотя это также решает проблему (потому что системная директория по умолчанию записана в переменной PATH ). Модулю нужны следующие файлы в переменной PATH : libenchant.dll , glib-2.dll , gmodule-2.dll .

Кроме того, необходимо скопировать хотя бы одного поставщика из lib\enchant в \usr\local\lib\enchant-2 (это абсолютный путь от корня текущего диска). До версии PHP 8.0.0, т.е. при использовании Enchant v1, поставщики должны были быть скопированы в C:\enchant_plugins , где этот путь может быть настроен путём создания значения реестра HKEY_CURRENT_USER\SOFTWARE\Enchant\Config\Module_Dir , указав в нём желаемый путь.

User Contributed Notes

There are no user contributed notes for this page.

  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
    • Copyright © 2001-2024 The PHP Group
    • My PHP.net
    • Contact
    • Other PHP.net sites
    • Privacy policy

    Как подключить модуль в php

    Иногда не получается использовать инсталлятор pecl . Этому может мешать брандмауэр или устанавливаемый модуль недоступен в качестве PECL-совместимого пакета, например, модули из системы управления версиями (git), у которых ещё не было выпусков. Такой модуль можно собрать вручную, используя низкоуровневые утилиты сборки.

    Команду phpize выполняют для подготовки окружения PHP-модуля. В следующем примере исходные коды для модуля лежат в директории с названием extname :

    $ cd extname $ phpize $ ./configure $ make # make install

    При успешной установке будет создан файл extname.so , а затем помещён в директорию модулей PHP. Модуль можно будет использовать после корректировки файла php.ini — в него необходимо будет добавить строку extension=extname.so .

    Если в системе нет команды phpize, но доступна работа с предустановленными пакетами (наподобие RPM), необходимо убедиться, что также установлена соответствующая версия пакета PHP для разработчиков, так как они часто содержат команду phpize с правильными файлами заголовков для сборки PHP и его модулей.

    Для дополнительной информации выполните команду phpize —help.

    User Contributed Notes 5 notes

    15 years ago

    If you have multiple PHP versions installed, you may be able to specify for which installation you’d like to build by using the —with-php-config option during configuration.

    —with-php-config=[Insert path to proper php-config here]

    For example (my case):
    ./configure —with-php-config=/usr/local/php5/bin/php-config5

    11 years ago

    When compiling an extension for a stack which is 64 bits (for example) and your compiler is configured to compile in 32 bits, you can manually compile your extensions using C flags before your configure.

    Example: my system compiler is 32 bits and my stack is 64 bits. To compile my xdebug:

    # phpize
    # CFLAGS=-m64 CPPFLAGS=-m64 CCASFLAGS=-m64 ./configure —enable-xdebug
    # gmake
    # file modules/xdebug.so
    modules/xdebug.so: ELF 64-bit LSB dynamic lib AMD64 Version 1, dynamically linked, not stripped, no debugging information available

    18 years ago

    In some situations (e.g. on a cPanel server), the built extension will not be placed into the correct extensions directory by the make install process. Use your phpinfo() output to determine what the correct extension_dir path is and move the generated .so file into that directory. The extension=extname.so line in php.ini will then find the extension file correctly.

    16 years ago

    When you have multiple installations of PHP, running phpize from a specific installation will not force the module to be compiled with that installation’s include files.

    In my case, I had a standard PHP distribution installed, and am evaluating Zend Core / Zend Platform, which installed it’s own Apache & PHP in a /usr/local/Zend/.. install path. It was missing the json.so module, so I had to compile my own.

    Running Zend Core’s phpize, the output indicates that configuration for that module will occur. But when running ./configure, the standard installation’s include files are used. The result json.so being compiled against the wrong PHP would not load when Zend Core’s php initializes.

    The only way I could see to correct the situation was to temporarily change the standard PHP include path to point to the Zend Core’s include files. In my case, I made a backup copy of /usr/include/php5 and did a «ln -s /usr/local/Zend/Core/include/php/ /usr/include/php5».

    9 years ago

    If you failed to run phpize command, then you should install php-devel package. Command line to install the php-devel package using yum is: yum install php-devel.

    If you failed to compile the PECL extension, then you should install gcc package. Command line to install the gcc package using yum is: yum install gcc.

    • Установка модулей PECL
      • Введение в установку PECL
      • Загрузка модулей PECL
      • Установка PHP-​модуля в Windows
      • Компиляция разделяемых модулей с помощью команды pecl
      • Компиляция разделяемых модулей с помощью phpize
      • php-​config
      • Компиляция модулей PECL статически в PHP
      • Copyright © 2001-2024 The PHP Group
      • My PHP.net
      • Contact
      • Other PHP.net sites
      • Privacy policy

      Как добавить модуль php?

      Всегда сидел на винде, там просто кидаешь в папку dll и раскомментируешь в php.ini строчку.
      Теперь перешел на ubuntu, но не все еще понимаю. Встала задача подключить модуль zip.
      В мануале написано «необходимо скомпилировать PHP с поддержкой zip, используя конфигурационную опцию —enable-zip» — как это сделать? Какие команды?

      Можно как-то добавить нужную библиотеку к текущей конфигурации или нужно заново пересобирать суказанием всех текущих модулей?

      • Вопрос задан более трёх лет назад
      • 1816 просмотров

      Комментировать
      Решения вопроса 1

      Вы можете устанавливать расширения для php, просто загружая их из репозитория (Официального или нет):
      sudo apt install php-zip

      Далее, нужно перезапустить пакетный менеджер fastcgi:
      sudo service php-fpm restart

      Вместо php у вас может быть php5.6, php7.0, php7.1 и тд. Все зависит от версии.

      Ответ написан более трёх лет назад
      Нравится 2 3 комментария
      McMike @McMike Автор вопроса

      Можете мне на пальцах объяснить, что произойдет по команде sudo apt install php-zip?
      Будет как в винде скачан пакет в виде какого-то файла или какая-то компиляция еще произойдет?

      McMike: установится расширение и создастся новый файл в папке mods-available. Одним словом, все произойдет за вас.

      McMike @McMike Автор вопроса

      Да, отлично, спасибо!
      только нужно sudo apt install php5.6-zip
      если sudo apt install php-zip то ставит для php 7.1

      Я думал, что ваш комментарий «Вместо php у вас может быть php5.6, php7.0, php7.1 » относится только к рестарту

      Как подключить модуль в php

      Сообщения: 2
      Благодарности: 0

      Доброго времени суток всем!

      Вот какой вопрос:
      как подключить в PHP внешние модули (для создания графики, PDF файлов и т.д.), чтобы можно было спокойно вызывать соответсвующие функции, экспортируемые этими модулями. И ещё вопрос: можно ли вместо .so модулей подключать .dll версии?

      Engrossed by the Void

      Сообщения: 2229
      Благодарности: 60

      Привет.
      В php.ini нужно означить корректными величинами переменные:
      1) extension_dir — каталог где лежат модули
      2) extension=php_gd2.dll — указать, что некий модуль нужно подключить, он должен лежать в extension_dir или там, где он может быть найден.
      3) если модуль требует каких-либо опций, то они указываются в подсекциях типа [Session], [MySql] и т.д.
      В php.ini об этом довольно развернуто написано, а некоторые модули включены по умолчанию.
      so и dll это суть разные форматы обусловленные особенностями операционных систем, так что маловероятно.
      Удачи.

      ——-
      Не могу дать более дельный совет — не хватает системных ресурсов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *