// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Создание приложения на основе базы данных на языке PHP
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Создание приложения на основе базы данных на языке PHP - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Создание приложения на основе базы данных на языке PHP

= Урок 9: Развертывание приложения на удаленном веб-сервере
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Урок 9: Развертывание приложения на удаленном веб-сервере - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Урок 9: Развертывание приложения на удаленном веб-сервере



1. link:wish-list-tutorial-main-page.html[+Создание приложения на основе базы данных с помощью языка PHP – главная страница+]
2. 
Создание базы данных

1. link:wish-list-lesson1.html[+Создание базы данных MySQL+]
2. link:wish-list-oracle-lesson1.html[+Создание таблиц базы данных Oracle+]
3. 
link:wish-list-lesson2.html[+Проектирование приложения. Чтение из базы данных+]

4. link:wish-list-lesson3.html[+Создание нового пользователя приложения+]
5. link:wish-list-lesson4.html[+Усовершенствование кода+]
6. link:wish-list-lesson5.html[+Добавление функций безопасности. Реализация входа пользователя в приложение+]
7. link:wish-list-lesson6.html[+Добавление нового пожелания в базу данных+]
8. link:wish-list-lesson7.html[+Обновление и удаление записей в базе данных+]
9. link:wish-list-lesson8.html[+Усовершенствование внешнего вида приложения с использованием технологии CSS+]
10. 
*=>Развертывание приложения на удаленном веб-сервере*


image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]

Как правило, в реальной жизни PHP-приложение запускается на удаленном сервере и доступно через протокол передачи файлов (FTP). Для развертывания приложения CRUD на удаленном сервере необходимо зарегистрировать учетную запись у поставщика услуг размещения, зарегистрировать учетную запись FTP и создать удаленную базу данных.

Можно использовать любое размещение. В данном документе описывается процедура развертывания приложения на бесплатном размещении X10HOSTING. На этом размещении имеется сервер MySQL, но не сервер базы данных Oracle.

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

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

* Изменение параметров настройки подключения к базе данных для использования удаленной базы данных

Текущий документ является частью краткого учебного курса "Создание приложения CRUD в IDE NetBeans для PHP".



== Исходный код приложения из предыдущего урока

Для пользователей MySQL: щелкните link:https://netbeans.org/files/documents/4/1934/lesson8.zip[+ здесь+], чтобы загрузить исходный код, отражающий состояние проекта после завершения предыдущего урока.


== Регистрация учетной записи электронной почты

Создайте учетную запись электронной почты, если она не существует. В этом примере используется адрес электронной почты phpuser65@googlemail.com.


== Регистрация учетной записи размещения

Для создания учетной записи размещения на бесплатном размещении link:http://x10hosting.com/[+X10HOSTING+] выполните действия, предлагаемые мастером, путем ввода следующих параметров. Подобная информация вводится на любом другом сайте размещения.

|===
|Параметр учетной записи  |Значение 

|Адрес электронной почты |phpuser65@gmail.com 

|Имя домена |link:http://x10hosting.com/[+x10Hosting.com+] 

|Поддомен |phpuser 

|Имя учетной записи размещения (также для входа в cPanel) |phpuser 

|Пароль учетной записи размещения (также для входа в cPanel) |qwerty1234 

|Имя пользователя форума |phpuser 

|Пароль форума |qwerty 

|Имя учетной записи FTP |средство загрузки 

|Имя пользователя FTP |uploader@phpuser.x10hosting.com 

|Сервер FTP |ftp.phpuser.x10hosting.com 

|Имя узла удаленной базы данных |phpuser 

|Удаленная база данных |wishlist 

|Имя пользователя удаленной базы данных |phpuser 

|Пароль пользователя удаленной базы данных |phpuserpw 
|===


== Регистрация учетной записи FTP

Теперь при наличии учетной записи размещения необходимо создать учетную запись FTP, с использованием которой осуществляется передача исходного файла PHP и других связанных файлов для выполнения их на сервере. На размещении x10Hosting откройте cPanel и выберите "New FTP Account", а затем выполните указания мастера.


== Создание удаленной базы данных

Приложение CRUD использует базу данных, поэтому на удаленном сервере, на котором была создана <<registerHostingAccount,учетная запись размещения>>, также необходимо развернуть базу данных MySQL  ``wishlist`` .


== Настройка проекта PHP с существующими исходными файлами и настройкой выполнения "Удаленный веб-сайт"

1. <<previousLessonSourceCode,Загрузите исходные файлы>>, описывающие состояние приложения на момент завершения предыдущего урока. Извлеките файлы.
2. Сохраните исходные файлы в папке  ``htdocs`` .
3. Создайте проект PHP link:project-setup.html#importSources[+ с существующими исходными файлами+]:
* Укажите местоположение загруженных исходных файлов в папке в "Source".
* Выберите настройку выполнения link:project-setup.html#remiteWebSite[+Удаленный веб-сайт+] и настройте подключение по FTP.
4. Завершите создание проекта.


== Обновление класса WishDB

Вы уже создали и выполнили приложение Wish List на локальном сервере, а также использовали локальный сервер базы данных MySQL или Oracle. Чтобы ваше приложение работало с удаленной базой данных MySQL, необходимо обновить параметры подключения, указанные в переменных класса  ``WishDB`` .

1. Откройте файл  ``db.php`` .
2. Измените переменные класса  ``WishDB`` :

[source,java]
----

    var $user = "<the name of the remote database user>";        
    var $pass = "<the password of the remote database user>";
    var $dbName = "<the name of the remote database>";
    var $dbHost = "<the account username specified during the hosting account creation>";

----
В этом примере переменные обновляются следующим образом:

[source,java]
----

    var $user = "phpuser";        
    var $pass = "phpuserpw";
    var $dbName = "wishlist";
    var $dbHost = "phpuser";

----


== Что дальше?

link:wish-list-lesson8.html[+<<Предыдущий урок+]

link:wish-list-tutorial-main-page.html[+Назад на главную страницу руководства+]


link:/about/contact_form.html?to=3&subject=Feedback:%20PHP%20Wish%20List%20CRUD%200:%20Using%20and%20CSS[+Отправить отзыв по этому учебному курсу+]


Для отправки комментариев и предложений, получения поддержки и новостей о последних разработках, связанных с PHP IDE NetBeans link:../../../community/lists/top.html[+присоединяйтесь к списку рассылки users@php.netbeans.org+].

link:../../trails/php.html[+Возврат к учебной карте PHP+]

