Intereting Posts
Получение имени файла (или удаление файла) с помощью дескриптора файла PHP Encrypt Data, Bash Расшифровать его что такое сеанс и файлы cookie в php и где он хранится PHP | Удалить элемент из массива с переупорядочением? Как уловить фатальную ошибку: Максимальное время выполнения 30 секунд превышено в PHP Это инъекция зависимостей, и это плохая практика? Персонализированные, взвешенные рекомендации – рейтинг всех материалов imagettftext не может открыть файл шрифта PHP: mysql v mysqli v pdo Создание экземпляра класса PHP. Использовать или не использовать круглые скобки? Требуется очистить буфер в Node.js? Если да, то как? Если нет, то в чем проблема? Интеграция PayPal, как я могу определить учетную запись получателя? Доступ к удаленной базе данных MySQL через PHP Кодовая кодировка CodeIgniter и поддержка UTF-8 Начать задание на mySQL и PHP, чтобы избежать подключения к БД на каждой странице

использование включает кросс-домен, содержащий php-код – сбой

У меня есть серия веб-сайтов, размещенных на одном сервере с разными доменами. Я хочу разместить некоторые распространенные PHP-скрипты, а затем иметь возможность называть их из других доменов.

Я немного свежее с моим php, поэтому попытки извинения кода PLS – я пробовал итерации следующего, которые могут попытаться помочь вам понять, к чему я стремлюсь!

изнутри php-тегов …

include('http://www.mydomain/common_include.php?show_section=$section'); 

 $show_section = $_GET['show_section']; include('http://www.mydomain/common_include.php');//Then $show_section would be available to the included file/cod 

Наконец, я попытался задействовать include, который содержит функцию, затем пытается запустить, которая включает в себя родительский скрипт.

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

Заранее спасибо.

#

EDIT OK OK – я понимаю, что его плохая практика так не сделает этого … СПАСИБО ОЧЕНЬ МНОГО ДЛЯ БЫСТРЫХ ОТВЕТОВ. Однако есть ли какие-либо другие рекомендации о том, как в этом случае показать это базовое приложение php на всех сайтах без необходимости добавлять файлы в корень каждого сайта? Просто чтобы предотвратить массовое копирование сценариев … (вслушиваясь вслух, звоните в сценарии из db или anyother soloutions) Еще раз спасибо за вашу помощь

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

Если вы посмотрите на документацию PHP.net о включении, вы можете найти следующее:

Если в PHP (которые находятся в конфигурации по умолчанию) включены «URL-ссылки fopen wrappers», вы можете указать файл, который будет включен с помощью URL-адреса (через HTTP или другую поддерживаемую оболочку), см. Список поддерживаемых протоколов / Wrappers для списка протоколов) вместо локального пути. Если целевой сервер интерпретирует целевой файл как код PHP, переменные могут быть переданы во включенный файл с использованием строки запроса URL-адреса, используемой с HTTP GET. Это не совсем то же самое, что и включение файла и его наследование области видимости родительского файла; сценарий фактически запускается на удаленном сервере, и результат затем включается в локальный скрипт.

Это в значительной степени объясняет все это.

Корень первоначального вопроса, казалось, вызывал беспокойство плаката относительно использования PHP-скрипта или плагина на нескольких сайтах, а затем с обременительной задачей каждый раз, когда он нуждается в обновлении. При попытке включить файлы PHP на разных сайтах это плохая идея, это лучший план структурирования вашего сценария как можно более автономного. Храните весь плагин, содержащийся в одном каталоге …. и убедитесь, что ваши вызовы функций для его использования также являются максимально возможными – чистые, хорошо названные функции, равномерные соглашения об именах и хорошо продуманный план того, какие параметры необходимы каждой функции. Избегайте использования глобальных переменных.

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

Если ваш скрипт достаточно велик, вы можете реализовать автоматический процесс обновления, например, более поздние версии WordPress. Нажмите кнопку, и она обновится. В прошлом обновление десятка сайтов под управлением WordPress (в качестве примера) было огромной болью.

Это очень плохая практика.
На самом деле вы включаете не PHP, а только HTML-код.

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

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

Если, однако, все сайты, которые должны использовать сценарий, вы можете поместить скрипт где-нибудь в каталог, доступный пользователю, который выполняет php и добавляет этот каталог в свойство php.ini include_path ( также может быть выполнено во время выполнения )

(Или вы можете создать расширение php и загрузить его как расширение)

Если у вас есть права root на этом сервере, вы можете просто использовать абсолютный путь из корня файловой системы, но большинство хостов не позволит вам это сделать.