Самые востребованные модули PHP для отличной работы сайта

Maria Kholodnitska 19.08.2019 10316 на прочтение 13 минут


В этой статьи пройдемся по нескольких модулях PHP, о которых часто спрашивают наши клиенты. Модули PHP позволяют оптимизировать и настроить работу PHP-скриптов на сервере. Каждый модуль несет свою функциональность и может значительно облегчить и ускорить задачи касательно php кода. О том как включить/отключить модули PHP можно ознакомиться в нашей статье здесь.

Начнем с модулей предназначенных для  кэширования. С помощью кэширования памяти можно значительно улучшить производительность сервера. Это процесс хранения часто запрашиваемых объектов в памяти для более быстрого поиска и воспроизведения в дальнейшем. Существует два типа кэширования памяти:

  1. Кэш кода  PHP (модуль OPcache): Кэш кода операции хранит скомпилированные сценарии PHP, сервер не компилирует и преобразовывает скрипт PHP в машинно-понятный код при каждом запросе.
    Эти скомпилированные сценарии PHP хранятся в памяти на сервере, на котором они скомпилированы. OPcache доступен с момента выпуска PHP 5.5 и является механизмом кэширования по умолчанию для кэширования кода на уровне байт-кода. С активированным OPcache есть возможность обрабатывать гораздо больше запросов. одновременно, это очень важное преимущество для работы крупных сайтов.
  2. Кэш данных. Кэш данных хранит копии данных, шаблонов и других типов информационных файлов. В зависимости от реализации кэша он может быть локальным для одного сервера или распределенным по нескольким серверам. 

Модуль PHP APCu

(APC User Cache) отвечает за локальный кеш для систем начиная с  версии  PHP 5.6 и выше. APCu является кэшем данных и доступен в большинстве дистрибутивов. APCu  пришел на смену APC

Redis — это отличный современный кэш памяти, который можно использовать как для распределенного кэширования, так и в качестве локального кэша для блокировки транзакций файлов, поскольку он гарантирует, что кэшированные объекты доступны столько времени, сколько они необходимы. Модуль Redis идет от PHP версии 2.2.6 или выше. 

Также в доступности есть два расширения PHP — это

Memcache и Memcached. Memcached — PHP расширение для взаимодействия с memcached через библиотеку libmemcached. Библиотека libmemcached используется для предоставления API для связи с серверами memcached. А Memcache является расширением Memcached. Memcached разработанный специально для динамических веб-приложений, чтобы уменьшить нагрузку на базу данных путем хранения объектов в памяти, при этом используются специальные ключи для уменьшения количество запросов к серверу с БД.  Это расширение позволяет работать с Memcached через удобный  процедурный интерфейс.

Модуль APM (Application Performance Monitoring) — инструмент мониторинга производительности приложений. Существует множество инструментов мониторинга производительности приложений, например, как Pinpoint, New Relic, AppDynamics, Apache SkyWalking, Stagemonitor и д.р. Многие из них предлагают уменьшенные бесплатные версии своих продуктов.

Этот инструмент позволяет Вам эффективно измерять и рассчитывать статистику реальной работы вашего приложения в зависимости от его использования. С помощью APM  можно просматривать подробные показатели производительности PHP-приложений такие как память, процессор, загрузка системы, дампы памяти и так далее, что полезно для выявления причин медленной работы системы, оптимизации производительности, анализа причин и потенциальных проблемах. Возможность быстро понять топологию и зависимости  Вашего приложения Отклик строк кода на все Ваши транзакции для отслеживания самых мелких ошибок и сбоев.

Модуль cURL  позволяет PHP-программам получать доступ к функциям curl в PHP. CURL расшифровывается как «Client for URLs». В проекте cURL есть два продукта libcurl и curl.

libcurl — это библиотека PHP и инструмент командной строки (например, wget), который помогает отправлять файлы, а также загружать данные через HTTP и FTP. Он поддерживает прокси, и передает данные через SSL-соединения,  также есть возможность устанавливать куки и даже получать файлы, которые находятся за логином.

curl: инструмент командной строки для получения или отправки файлов с использованием синтаксиса URL. Поскольку curl использует libcurl, он поддерживает ряд общих внутренних протоколов, в том числе HTTP, HTTPS, FTP, FTPS, GOPHER, TELNET, DICT и FILE.  

Модуль IMAP (доступен для PHP 5.6, 7.0, 7.1, 7.2 или 7.3.) представляет собой мощную библиотеку с открытым исходным кодом для подключения к почтовому ящику по протоколам POP3, IMAP и NNTP с использованием расширения PHP IMAP. Эта библиотека позволяет вам получать электронные письма с Вашего почтового сервера. Данные сообщений, считанные с почтового сервера, будут использоваться для составления списка электронных писем в почтовом ящике, создания уведомлений о непрочитанных сообщениях и для многих других целей. Используя IMAP можно создавать удобные приложения для обработки сообщений, так IMAP  более функциональный и современней, протокола POP3. 

IMAP работает по протоколу TCP / IP с защитой SSL, поэтому  прежде чем мы сможем сделать какие-либо вызовы IMAP, мы должны открыть соединение. Перед этим нужно проверить в настройках почты включена ли возможность подключения по протоколу IMAP. Если отключена эта функция , ее нужно просто включить в настройках почты.

Далее для подключения нужно указать сервер входящей почты (IMAP), сервер исходящей почты (SMTP), при этом указываем порт подключения, почтовый ящик к которому желаете подключится, пароль и путь к папке где будут сохраняться почтовые сообщения. Если Вам нужна дополнительная информация об IMAP-доступе, ищите в справочном центре почты, где имеете почтовый ящик, они всегда выкладывают подробные инструкции и данные для подключении.

ionCube loader представляет собой расширение PHP, поставляется в виде .so или .dll библиотеки, необходим для использования и чтения декодирования исходного кода закодированного при помощи ionCube Encoder, которое в основном используется в коммерческих программных приложениях для защиты от нелицензионного использования исходного кода и предотвращения его видимости, кражи и изменения путем компиляции в байт-код.

 

    PHP-кодер ionCube имеет 3 версии: Basic, Pro и Cerberus, также уже присутствует дополнительное шифрование файлов не с PHP разметкой. Эти версию отличаются друг от друга набором функций. Если Вам нужно просто шифрование Вам подойдет Basic, Pro или Cerberus снизят риск запуска любых украденных файлов на другом сервере, так как предоставляют возможность создавать файлы лицензий для ваших продуктов. Pro и Cerberus есть интересная функция полезна разработчикам, которая предоставляет доступ к защищенному коду в течение установленного времени для установленного количества пользователей. PHP Encoder доступен для Windows, Linux, FreeBSD и OS X. Поддержка для других платформ доступна по запросу.

Более детально ознакомиться  с продуктом IonCube и использовании его на серверах можно в нашей статьи здесь.

Функции

FTP модуля позволяют, если есть необходимость, использовать для php скриптов подключения и доступ к серверам по протоколу FTP (File Transfer Protocol). Больше информации об том протоколе, как подключиться и настроить можно почитать в нашей статье здесь.  

Также для удаленного доступа можно использовать протокол SSh3. SSh3 — это более безопасная, эффективная и портативная версия SSH, включающая SFTP, функционально аналогичная FTP, но с шифрованием SSh3. Для использования нужно наличие подключенных библиотек libssh3 и OpenSSL.

OpenSSL использует функциональность библиотеки  OpenSSL для симметричных и асимметричных шифрования и дешифровки, PBKDF2, PKCS7, PKCS12, X509,  криптографических операций и реализует потоки TLS.

Модуль PHP Zlib позволяет на ходу читать и записывать сжатые файлы gzip. Для использования модуля также нужно подключение библиотеки zlib начиная с версии 1.0.9. Алгоритм сжатия, используемый в zlib, является методом deflate. Метод deflate кодирует входные данные в сжатые данные. Алгоритм распаковки, используемый в zlib — это метод inflate, который представляет собой процесс декодирования. Этот модуль используется для предоставления более быстрого вывода необходимой информации путем сжатия потока данных.

В файле php.ini. можно настроить  параметры сжатия. 

    Модуль ZIP  для записи, чтения, модификации ZIP-архивов. Для работы нужна библиотека libzip. PHP модуль RAR предназначен для чтения архивов Rar-архивов используя библиотеки unRAR. Это расширение дает вам возможность читать архивы Rar, но не поддерживает возможность записывать Rar-архивы, так как эта функция не поддерживается библиотекой UnRar.

Если Вы хотите внедрять БД, то используйте для их подключения соответствующее модули: pgsql — PostgreSQL , mongodb — MongoDB (модуль mongo считается устаревшим), mssql — MS SQL Server, mysql — MySQL (считается устаревшим, а с версии PHP 7.0.0 этот модуль удален, лучше использовать вместо этого модуля модули mysqli или pdo_mysql ).

Модуль mysqli — позволяет получить доступ к функциональности, предоставляемой СУБД MySQL. А Расширение PHP Data Objects (PDO) определяет легкий, согласованный интерфейс для доступа к базам данных в PHP. PDO поддерживает различные базы данных, что есть очень удобным, в том случаи, если нужно в проекте перейти с использования одной к другой,  не нужно переписывать весь код и запросы как в случаи с mysqli.

Если Вас интересует функциональность и наличие других модулей PHP, то пишите, специалисты ГиперХост с радостью предоставят информацию и помогут включить и настроить необходимые модули для эффективной работы Вашего проекта. 

Среда PHP — Поддержка

На этой странице содержится информация о серверах для сайтов с тарифными планами, поддерживающими плагины. Эти сведения можно использовать, чтобы найти и устранить проблемы или принять решение о размещении вашего сайта у нас. Обратите внимание, что эти настройки нельзя изменить для отдельных сайтов.

В этом руководстве

Модули PHP

На сайтах WordPress.com с поддержкой плагинов доступны следующие модули PHP:

  • apcu
  • bcmath
  • calendar
  • cgi-fcgi
  • Core
  • ctype
  • curl
  • date
  • dom
  • exif
  • fileinfo
  • filter
  • gd
  • gmagick
  • gmp
  • hash
  • iconv
  • imap
  • intl
  • json
  • libxml
  • mbstring
  • mcrypt
  • memcache
  • mysqli
  • mysqlnd
  • openssl
  • pcntl
  • pcre
  • PDO
  • pdo_mysql
  • pdo_sqlite
  • Phar
  • posix
  • Reflection
  • session
  • shmop
  • SimpleXML
  • soap
  • sockets
  • sodium
  • SPL
  • sqlite3
  • standard
  • sysvsem
  • sysvshm
  • timezonedb
  • tokenizer
  • xml
  • xmlreader
  • xmlwriter
  • xsl
  • Zend OPcache
  • zip
  • zlib
Сайты с тарифными планами Personal или Premium

Эта информация относится только к сайтам с тарифными планами, в рамках которых установлены пользовательские плагины или темы. Сайты с планами Personal и Premium размещаются в другой среде, и для них эта функция не поддерживается, поэтому данное руководство к ним не применимо.

Можно ли менять конфигурацию NGINX?

Некоторые плагины и темы могут выдавать сообщения о том, что для работы им требуется внести изменения в конфигурацию NGINX. Тем не менее это невозможно здесь, на WordPress.com. Если плагин или тема предлагают внести изменения, свяжитесь с разработчиками, чтобы выяснить, есть ли у них альтернативные решения.

Можно ли менять файл php.ini?

Некоторые плагины и темы могут сообщать о том, что для работы им требуется изменить файл php.ini. Тем не менее это невозможно здесь, на WordPress.com. Если плагин или тема предлагают внести изменения, свяжитесь с разработчиками, чтобы выяснить, есть ли у них альтернативные решения.

Поддерживается ли на WordPress.com режим мультисайта?

Нет. В настоящее время режим мультисайта на WordPress.com не поддерживается.

В тарифные планы WordPress.com входит обширный перечень функций для одного сайта. Если вы хотите создать на WordPress.com несколько сайтов, новый сайт можно создать в существующей учётной записи WordPress.com. Затем для каждого нового сайта можно приобрести отдельный тарифный план.

Вопросы

Чтобы получить ответы на любые вопросы, касающиеся информации на этой странице или наших услуг хостинга, свяжитесь с нами.

Информация на этой странице может быть изменена без предварительного уведомления.

 

Ваша оценка:

Как получить список скомпилированных модулей PHP из командной строки

Проверка перед полетом

  • Эти инструкции предназначены специально для вывода списка существующих скомпилированных модулей PHP из командной строки.
  • Среда вашего сервера может отличаться, но мы рассмотрим несколько вариантов, с которыми вы можете столкнуться. Мы будем использовать сервер Ubuntu только с одной версией PHP и два сервера CentOS 7, один с cPanel и один с InterWorx.

Одна версия PHP

Если на вашем сервере установлена ​​только одна версия PHP, вы можете запустить эту команду PHP где угодно, и она даст вам тот же список модулей. Общая команда, которую мы будем использовать, — php -m . Эта команда предоставит вам полный список установленных модулей/расширений PHP.

 root@host [~]# php -m 

Эта команда выдаст вам вывод, подобный следующей информации.

 мкммат
бз2
Основной
ctype
завиток
дата
дом
exif
информация о файле
фильтр
фтп
гд
хэш
значокv
воображение
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
пкре
ЗОП
pdo_mysql
pdo_sqlite
Фар
posix
строка чтения
Отражение
сеанс
ПростойXML
уровень звукового давления
sqlite3
стандартный
токенизатор
вддкс
XML
xmlreader
xmlwriter
xsl
молния
zlib
[Зенд-модули]
 

Если вы ищете один конкретный элемент из списка, мы можем использовать канал с командой grep, например.

 root@host [~]# php -m | grep -я отражение
Отражение
root@host [~]# 

В приведенном выше случае мы » grep’d » список существующих модулей PHP ищем именно модуль PHP «reflection». Чтобы найти модуль на вашем сервере, просто замените имя модуля «отражение» на имя модуля, который вы ищете! Полный список доступных модулей PHP можно найти здесь: https://www.php.net/manual/en/extensions.alphabetical.php

Приведенная выше команда отобразит только модули со словом «отражение», а флаг «-i» означает, что наш поисковый запрос будет без учета регистра . Таким образом, заменить слово «отражение» любым модулем или поисковым запросом, который вы пытаетесь найти, должно быть легко сделать.

Несколько версий PHP

Если на вашем сервере установлено несколько версий PHP, например, на новом сервере cPanel или InterWorx, у вас могут быть разные модули PHP для каждой версии PHP. Вы можете проверить, какие модули доступны для разных версий, напрямую вызвав разные версии PHP.

На одном из полностью управляемых серверов cPanel компании Liquid Web под управлением CentOS 7 полный путь будет следующим.

 root@host [~]# /opt/cpanel/ea-php73/root/usr/bin/php-cgi 

Итак, если я запущу эту команду с флагом -m , она предоставит нам все модули специально для PHP 7. 3. Если вы переключите путь на ea-php72 или 56, то он даст модули для этой версии PHP.

 root@host [~]# /opt/cpanel/ea-php73/root/usr/bin/php-cgi -m
[Модули PHP]
bcm математика
бз2
cgi-fcgi
Основной
ctype
завиток
дата
дом
exif
информация о файле
фильтр
фтп
гд
хэш
значокv
воображение
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
пкре
ЗОП
pdo_mysql
pdo_sqlite
Фар
posix
строка чтения
Отражение
сеанс
ПростойXML
уровень звукового давления
sqlite3
стандартный
токенизатор
вддкс
XML
xmlreader
xmlwriter
xsl
молния
zlib
[Зенд-модули]
root@хост [~]# 

На полностью управляемом сервере InterWorx полный путь будет следующим.

 root@host [~]# /opt/remi/php73/root/usr/bin/php-cgi 

Или вы можете использовать встроенные команды быстрого доступа.

 root@хост [~]# php73 -m
root@хост [~]# php56 -m
root@host [~]# php54 -m 

Расширения PHP | Virtuozzo Dev Docs

На платформе серверы приложений PHP поставляются с рядом встроенных модулей, что позволяет устанавливать различные расширения PHP в демонах httpd (Apache-PHP) и PHP-FPM (NGINX-PHP). Среди этих расширений обычно требуются следующие: встроенный , т.е. загруженный и работающий с PHP по умолчанию:
ereg
фильтр хэш
libxml
mhash
pcre
Reflection
сеанс
SLPxml
сокеты

Остальные предоставленные расширения являются динамическими , т.е. включены в соответствующие сборки серверов (хранятся в выделенной модулях папке сервера) и могут быть включены при необходимости:

90 074 apc.so
apcu.so
bcmath.so
bz2.so
calendar.so
curl.so
dba.so
dom .so
enchant.so
event.so
exif. так
fileinfo.so
ftp.so
gd.so
gearman.so
geoip.so
gettext.so
gmp.so
http.so
iconv.so
igbinary.so
imagick.so
imap.so
inotify. so
intl.so
json.so
ldap.so
mbstring.so
mcrypt.so
memcache.so
memcached_2_1_0.so
memcached_2_2_0.so 90 082 mongo.so
mongodb.so
mysql.so
mysqli.so
mysqlnd_ms.so
mysqlnd_qc.so
mysqlnd.so
ncurses.so
oauth.so
odbc.so
opcache.so
openssl.so
pcntl.so
pdo_dblib.so
pdo_firebird.so
pdo_mysql.so 9 0082 pdo_oci.so
pdo_odbc.so
pdo_pgsql.so
pdo_sqlite .so
pdo.so
pgsql.so
phar.so
posix.so
propro.so
pspell.so
raphf.so
rar.so
readline.so
recode.so
redis.so 90 082 шмоп.со
simplexml.so
snmp.so
soap.so
solr.so
solr2.so
sphinx.so
sqlite3.so
svn.so
sysvmsg.so
sysvsem.so
sysvshm.so
tidy.so
timezonedb.so
tokenizer.so
uuid.so
wddx.so
xcache. so
xdebug.so
xmlreader.so
xmlrpc.so
xmlwriter.so
xsl.so
yaml.so
ZendGuardLoader.so
zip.so
zlib.so
9010 3

Ниже можно разобраться как:

  • активировать добавочный номер
  • настроить добавочный номер
  • добавить собственное расширение

Активировать расширение

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

Примечание: Встроенные расширения не должны загружаться вручную, так как по умолчанию они постоянно работают на всех PHP-серверах платформы.

Ниже вы можете узнать, как это можно сделать:

  1. Нажмите кнопку Config для вашего сервера приложений.

  2. На открывшейся вкладке конфигурации перейдите к файлу etc > php. ini и прокрутите вниз до раздела Extensions by PaaS . Здесь у каждого динамического расширения есть свой подраздел, где его можно включить и настроить.

  3. Теперь найдите нужный раздел (они перечислены в алфавитном порядке) и раскомментируйте extension={module_name}.so внутри директивы (т.е. убрать точки с запятой в начале соответствующей строки), чтобы включить его: Также здесь вы можете настроить расширение по указанным параметрам конфигурации (или указать свои).

  4. После внесения всех необходимых изменений не забудьте Сохранить их и Перезапустить узел для применения новой конфигурации.

Настройка внутреннего номера

Все необходимые настройки модулей PHP должны обрабатываться через файл php.ini . При этом большинство предоставляемых динамических расширений указываются вместе с набором возможных параметров конфигурации.

В качестве примера рассмотрим такой для динамического расширения OPcache — ускоритель PHP, основанный на кэшировании и оптимизации опкода: расширение

  • opcache.memory_consumption=64
    установить объем используемой памяти
  • opcache.interned_strings_buffer=8 память, которая будет использоваться для хранения внутренних строк (например, имен классов)
  • opcache.max_accelerated_files=4000
    максимальное количество файлов для кэширования измениться
  • opcache.fast_shutdown=1
    включить/выключить последовательность быстрого выключения для ускоренного кода кеш для CLI-версии PHP
  • Добавить пользовательское расширение

    В дополнение ко всем модулям, доступным на платформе из коробки, у вас есть возможность интегрировать свои собственные расширения PHP на сервер, если это необходимо. Для этого просто следуйте инструкции ниже:

    1.