Доступ к базе данных из CakePHP за прокси-сервером - PullRequest
2 голосов
/ 28 октября 2010

Я работаю над веб-приложением, использующим CakePHP и MySQL. В зависимости от обстоятельств, я могу использовать один из двух компьютеров и находиться за прокси-сервером, который не позволяет мне напрямую изменять какой-либо код на моем веб-сервере. По этой причине я установил XAMPP на своих компьютерах в качестве локального веб-сервера и храню свой код в репозитории SVN, к которому я могу получить доступ из-за прокси.

С веб-сервером у меня есть три места, из которых этот код может выполняться (хотя в конечном итоге он будет только на веб-сервере), и, поскольку я нахожусь в разработке, я постоянно изменяю базу данных. Чтобы мне было проще, я хочу настроить все три копии этого приложения на использование базы данных веб-сервера, чтобы мне не приходилось продолжать экспортировать и импортировать каждый раз, когда я изменяю базу данных.

Когда я пытаюсь получить доступ к базе данных, первая ошибка, которую я получаю, - «Неизвестный сервер MySQL 'mysql.mywebsite.com'". Я предполагаю, что это потому, что я должен использовать прокси-сервер http для всего доступа в Интернет, и без него он не может даже разрешить адрес. Могу ли я настроить CakePHP или PHP или мой локальный Apache или что-то еще, чтобы использовать прокси-сервер для доступа к моей базе данных?

Ответы [ 3 ]

3 голосов
/ 28 октября 2010

Ни Cake, ни PHP не будут напрямую общаться с MySQL.Это обрабатывается низкоуровневыми драйверами mysql.MySQL предоставляет свой собственный прокси , который вы можете попробовать.

3 голосов
/ 28 октября 2010

С самого начала вам нужно получить базу данных под контролем исходного кода .Я бы порекомендовал плагин CakeDC Migrations .

Выполнение этого позволит вам разорвать кошмарный цикл импорта / экспорта phpMyAdmin (или, что еще хуже, MySQL CLI-команд).Если вы потратите время на это сейчас, это сэкономит вам много времени и седых волос в будущем.Более того, вызовы базы данных вашего сайта не будут подвержены задержке выхода из вашей локальной машины, тем более из локальной сети.

Если вы хотите сохранить одну простую конфигурацию app/config/database.php, вы можете использоватьполный URL-адрес для имени хоста вашей базы данных и измените файл hosts ваших блоков разработки (полный путь в Windows: C:\Windows\System32\drivers\etc\hosts), чтобы разрешить полный URL-адрес в 127.0.0.1.Таким образом, когда вы находитесь в одном из этих блоков, Cake в конечном итоге подключится к вашему локальному серверу базы данных, но получит доступ к нужному серверу базы данных при развертывании на рабочем веб-сервере.

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

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

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

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