Расширение файла Php не разрешено modx

Обновлено: 21.11.2024

ПРИМЕЧАНИЕ. Мы находимся в процессе изменения файловой структуры и конфигурации для многих стеков Bitnami. Из-за этих изменений пути к файлам, указанные в этом руководстве, могут измениться в зависимости от того, использует ли ваш стек Bitnami собственные системные пакеты Linux (подход A) или это автономная установка (подход B). Чтобы определить тип установки Bitnami и подход, который следует использовать, выполните приведенную ниже команду:

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

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

ПРИМЕЧАНИЕ: стеки Bitnami уже включают ряд модулей PHP, которые установлены, но не активны. Перед установкой нового модуля убедитесь, что он еще не включен. Если он существует, просто включите его в файле конфигурации PHP.

После изменения файла конфигурации PHP перезапустите Apache и PHP-FPM, чтобы изменения вступили в силу:

APCu — это модуль пользовательского кэша APC. Он уже включен в последние стеки Bitnami по умолчанию. Если это не так, установите его вручную, выполнив следующие действия:

Установите следующие пакеты:

Загрузите последний исходный пакет с веб-страницы, распакуйте его и скомпилируйте модуль.

Чтобы включить модуль, добавьте следующую строку в файл php.ini:

MSSQL

Microsoft SQL Server — это система управления реляционными базами данных, разработанная Microsoft. Шаги по установке модуля различаются для PHP5 и PHP7, а также для Ubuntu и Debian. Выберите соответствующий раздел ниже в зависимости от версии PHP, связанной с вашим стеком, и платформы. Чтобы получить версию PHP, используйте команду php -v в командной строке консоли.

Установка

Необходимо установить драйверы PHP Linux для SQL Server. Этот процесс отличается для Debian и Ubuntu.

Дебиан

Добавьте пакеты Microsoft в apt-get:

Установите инструмент с помощью apt-get и pecl:

Отредактируйте файл /opt/bitnami/php/etc/php.ini и добавьте в него следующие строки:

Убунту:

Добавьте пакеты Microsoft в apt-get:

Установите инструмент с помощью apt-get и pecl:

Отредактируйте файл /opt/bitnami/php/etc/php.ini и добавьте в него следующие строки:

Тестирование

Создайте файл с именем «connect.php»:

Добавьте следующий PHP-скрипт, заменив заполнители IP_ADDRESS, PORT и PASSWORD соответствующими значениями:

Запустите тестовый скрипт с помощью следующей команды:

ГеоIP2

Апач

Модуль mod_geoip2 встраивает поиск в базе данных GeoIP в веб-сервер Apache. Он способен только искать IP-адрес клиента, который подключается к веб-серверу, в отличие от поиска произвольных адресов.

Если этого модуля нет в вашем стеке, вы можете установить его вручную, следуя инструкциям ниже.

При необходимости установите следующие пакеты:

Установите файлы разработки для libgeoip:

Загрузите последний исходный код с веб-страницы, распакуйте его и скомпилируйте модуль.

Распаковать его и собрать библиотеки

Теперь модуль должен быть доступен по адресу /opt/bitnami/apache2/modules/mod_geoip.so. Он также автоматически включается в вашу конфигурацию Apache.

NGINX

Чтобы скомпилировать и установить модуль GeoIP2 для NGINX, необходимо сначала загрузить и скомпилировать NGINX из исходного кода с включенным модулем GeoIP2, а затем скопировать скомпилированный модуль в существующую установку NGINX стека Bitnami. Выполните следующие действия:

Установите библиотеку libmaxminddb-dev:

Загрузите и распакуйте исходный код модуля GeoIP2, используя приведенные ниже примеры команд. Обратите внимание, что URL-адрес загрузки и имя файла будут различаться в зависимости от загружаемой версии.

Загрузите и распакуйте исходный код NGINX, используя приведенные ниже примеры команд. Обратите внимание, что URL-адрес загрузки и имя файла будут различаться в зависимости от загружаемой версии.

ПРИМЕЧАНИЕ. Загрузите исходный код, соответствующий версии NGINX, используемой в вашем стеке Bitnami.

Скомпилируйте модуль как динамический модуль. Замените заполнитель PATH-TO-MODULE-DIRECTORY на путь к каталогу, содержащему исходный код модуля GeoIP2:

Перейдите в существующий каталог установки NGINX и скопируйте в него указанный выше файл модуля:

Отредактируйте файл /opt/bitnami/nginx/nginx.conf и добавьте в него следующую строку, чтобы загрузить модуль:

Imagick

Модуль Imagick установлен в стеках Bitnami, но не включен по умолчанию. Чтобы включить его, выполните следующие действия:

Раскомментируйте или добавьте следующую строку в файл /opt/bitnami/php/etc/php.ini:

Ионный куб

Выполните следующие действия:

Загрузите предварительно скомпилированную версию и скопируйте файл .so в каталог расширений PHP. Очень важно установить правильную версию ionCube с учетом версии PHP, включенной в ваше решение. Например, если вы хотите установить ionCube на WordPress и он использует PHP 7.0.27, вам необходимо установить версию 7.0 ionCube.

ПРИМЕЧАНИЕ. Y и Z являются заполнителями. Не забудьте заменить их на номер версии ionCube, соответствующий вашей версии PHP.

Добавьте следующую строку в файл php.ini:

МонгоБД

Модуль Mongo PHP — это драйвер MongoDB. Он уже включен в последние стеки Bitnami, но не включен по умолчанию. Если он не включен в вашу установку, выполните команду ниже, чтобы установить модуль:

Чтобы включить модуль MongoDB, выполните следующие действия:

Включите модуль в файле php.ini:

Проверьте, загружено ли расширение, выполнив следующую команду:

OAuth

Выполните следующие действия:

Установите следующие пакеты:

Загрузите последний исходный код с веб-страницы, распакуйте его и скомпилируйте модуль.

Включите модуль, добавив следующую строку в файл php.ini:

Проверьте, загружено ли расширение, выполнив следующую команду:

Чтобы включить этот модуль, проверьте, содержит ли файл php.ini строку extension=oci8.so. Если это так, раскомментируйте его, удалив символ ;:

Если он не включен, это означает, что модуль oci8 не включен в ваш стек Bitnami. Чтобы скомпилировать и включить его, выполните следующие действия:

Скомпилируйте и установите модуль OCI8:

ПРИМЕЧАНИЕ. Эти команды предполагают, что пакеты InstantClient Basic и SDK были извлечены и помещены в каталог /home/bitnami/instantclient_19_6. Если пакеты находятся в другом месте в вашей системе, соответствующим образом обновите пути, показанные в приведенных ниже командах.

Добавьте следующую переменную среды в среду выполнения PHP:

  • Подход A (установка Bitnami с использованием системных пакетов): /opt/bitnami/scripts/php-env.sh

  • Подход B (автономные установки Bitnami): /opt/bitnami/scripts/setenv.sh

Включите oci8, добавив следующую строку в файл php.ini:

Проверьте, активен ли модуль:

Открытый SSL

Модуль OpenSSL для PHP уже включен, и дополнительная настройка не требуется.

pdo_ibm

Чтобы установить и включить модуль PDO_IBM, выполните следующие действия:

Извлеките содержимое пакета в свою домашнюю папку и установите его, выполнив следующие команды:

Скомпилируйте модуль PDO_IBM:

Добавьте следующую переменную среды в среду выполнения PHP:

  • Подход A (установка Bitnami с использованием системных пакетов): /opt/bitnami/scripts/php-env.sh

  • Подход B (автономные установки Bitnami): /opt/bitnami/scripts/setenv.sh

Включите модуль PDO_IBM в файле php.ini, добавив следующую строку:

Проверьте, включен ли модуль, с помощью следующей команды:

Перезапустите сервер:

Еще раз проверьте, активен ли модуль. Если это так, предупреждение отображаться не будет.

pdo_pgsql

Этот модуль уже включен в Bitnami Stacks, но не включен по умолчанию. Чтобы включить модуль pdo_pgsql, отредактируйте файл php.ini и добавьте следующую строку:

Редис

Расширение phpredis предоставляет API для связи с хранилищем ключей и значений Redis. Чтобы установить его, выполните следующие действия:

Установите следующий пакет:

Загрузите исходный код с веб-страницы, распакуйте его и скомпилируйте модуль:

ПРИМЕЧАНИЕ. Замените заполнитель VERSION своей версией Redis.

Включите модуль в файле /opt/bitnami/php/etc/php.ini, добавив эту строку в конец:

Проверьте правильность установки модуля с помощью следующей команды:

Расширение Apache Solr для PHP — это чрезвычайно быстрая, легкая и многофункциональная библиотека, которая позволяет приложениям PHP легко и эффективно взаимодействовать с экземплярами сервера Apache Solr с помощью объектно-ориентированного API.

Если этого модуля нет в вашем стеке, установите его вручную, выполнив следующие действия:

Установите и настройте необходимые системные пакеты:

Загрузите последний исходный код с веб-страницы и распакуйте его:

Скомпилируйте модуль: в зависимости от типа установки выполните следующие команды:

Подход A (установка Bitnami с использованием системных пакетов):

Подход B (автономные установки Bitnami):

Включите модуль в файле php.ini:

Установите и включите модуль SSH2 для PHP, выполнив следующие действия:

Установите пакет libssl-dev:

CentOS: пакет libssl-dev устанавливается по умолчанию. Вы можете проверить это, выполнив yum info openssl.

Загрузить и скомпилировать libssh2 и ssh2:

Измените файл php.ini, добавив следующую строку:

Tidy — это привязка для утилиты очистки и восстановления Tidy HTML. Эта привязка позволяет очищать HTML-документы и управлять ими, а также перемещаться по дереву документа. Этот модуль включен по умолчанию. Подтвердите, что модуль включен с помощью следующей команды:

Zip-архив

ZipArchive — это класс модуля PHP zip. Этот модуль включен по умолчанию. Проверьте это с помощью следующей команды:

Я использую MODX Revolution 2.2.6-pl (традиционный) в облаке MODX.

Я читал официальную документацию:

"Начиная с версии 2.2.0 вы можете просто добавить "статический" фрагмент: просто укажите ссылку на статический файл."

Поэтому я попытался. У меня есть PHP-скрипт с расширением файла *.php. (пока не важно для чего). Я создал в разделе «Файлы» в разделе «Управление MODX» новый каталог (Создать каталог), куда я хотел загрузить свой файл PHP. При попытке сделать это мне сказали, что "расширение файла php не разрешено", и загрузка не произошла.

Учитывая, что сниппет представляет собой необработанный PHP-код,
как я могу использовать статический сниппет?
А как попасть в файловую систему?
Как мне его назвать? (расширение файла?)
Есть ли в документации место, где я узнаю, какие расширения файлов разрешены, а какие нет?
Кто-нибудь может рассказать мне больше об использовании статических фрагментов?

Заранее большое спасибо
kdmeloper

На этот вопрос ответили несколько участников сообщества. См. первый ответ.

вы можете указать типы файлов (разрешенные расширения) в настройках вашей системы. Фильтровать по «upload_files». это разделенный запятыми список разрешенных расширений для каталога assets/files.

Статические фрагменты отлично подходят, если вы пишете/редактируете свои фрагменты (или фрагменты) в интегрированной среде разработки (например, PHPStorm). Они обеспечивают лучшую подсветку синтаксиса и отладку.


  1. создайте файл на моем локальном диске, а затем загрузите его через FTP в нужный каталог MODX. В Диспетчере создайте новый фрагмент, установите флажок «статический ресурс», а затем используйте поле обзора для загруженного файла.
  2. Другой способ — создать новый фрагмент, выбрать поле "статический ресурс", затем ввести путь и имя файла, которые вы хотите. MODX создаст файл и любые несуществующие каталоги, которые вы укажете.

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

Спасибо за совет. Я последовал вашему 1. пункту и загрузил фрагмент (php) через SFTP. И я сделаю это в будущем.
Однако я все еще озадачен, почему функция "Файлы/Загрузить файлы" менеджера сообщила мне, что расширение файла (php) не разрешено. Неважно.

Это расширение необходимо добавить в параметр file_upload в настройках системы (в Менеджере меню Система -> Настройки системы -> Файловая система). MODX не позволяет загружать расширение .php через файловый менеджер по УМОЛЧАНИЮ. Вы должны добавить его в список.

Я был бы более склонен добавить это в качестве пользовательской настройки, если, конечно, это не небольшая команда менеджеров, пользующаяся большим доверием. Разрешение не полностью доверенным пользователям типа редактора загружать файлы .php может быть проблемой.

Здравствуйте, Джейсон! Спасибо за вторую важную информацию (Типы загружаемых файлов). Полезно знать.

Sottwell: Не могли бы вы указать мне, где в менеджере я могу найти и отредактировать такую ​​настройку пользователя. У вас есть точка здесь. Но я просмотрел разделы «Пользователь» и «Безопасность/Управление пользователями», и я, должно быть, слепой, не могу найти пункт, где я мог бы ввести/редактировать это.

Измените пользователя и создайте для него новую настройку upload_files. Вам, вероятно, нужно убедиться, что вы предоставили ему все типы файлов, которые вы хотите, чтобы он мог загружать; Я почти уверен, что они перезаписаны, а не просто добавлены к значениям по умолчанию.

Отличная рекомендация, Сьюзен. Можно даже сделать это как MediaSource, чтобы его можно было связать с группой доступа в случае большого количества разработчиков.

Запускайте новые проекты за считанные секунды в облаке MODX

Не будь таким парнем

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

Поблагодарить людей, которые помогают

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

Читайте также: