Запуск базового php-кода на нескольких доменах - PullRequest
0 голосов
/ 06 октября 2010

Мне нужно решение для запуска кода PHP на нескольких доменах.Домены размещены на разных серверах, а базовый код PHP отсутствует на любом из них, скажем, на сервере dev.

Все, что я мог придумать, это использовать file_get_contents в файле, размещенном на сервере dev.и запустить этот код с помощью eval.Поэтому на каждом домене у меня есть файл index.php с:

error_reporting(0);<br> $code = file_get_contents("http://www.mydevserver.com/main.php");<br> if ($code === false) {<br> // treat error<br> die();<br> } else {<br> // run code<br> eval($code);<br> }<br>

Пока у меня есть только один файл с несколькими функциями, но вближайшее будущее.И я должен отметить, что я не только обрабатываю данные, но также и представление, поэтому я не знаю, может ли API помочь.

Есть идеи о том, как я могу сделать это лучше?

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

Спасибо!

Ответы [ 5 ]

5 голосов
/ 06 октября 2010

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

1 голос
/ 06 октября 2010

Просто включает или требуется проклятый код (т. Е. Либо скрипт, который выплюнет необходимый код PHP, либо простой текстовый файл, содержащий исходный код PHP), но яне рекомендую делать это (на самом деле я призываю вас переосмыслить этот выбор, который вы сделали).Это будет работать, только если включены обёртки URL.

1 голос
/ 06 октября 2010

Опции:

  • Храните код локально, синхронизируйте его с проверками контроля версий или с помощью rsync.
  • Создание монтирования NFS из SSHFS (или любого работающего монтирования)используйте эти файлы там.
0 голосов
/ 06 октября 2010

Придумайте структуру папок и схему именования файлов, которые будут согласованы на всех этих серверах.После того, как вы это сделаете, запись сценария на FTP-файл сразу на все серверы будет очень простой.

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

0 голосов
/ 06 октября 2010

Этот file_get_contents будет возвращать ваш PHP-скрипт, а не исходный код.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...