Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE

Normally, a real-life PHP application is run on a remote server. Remote applications are accessed either through a version control system or through File Transfer Protocol (FTP).

Caution: NetBeans provides basic support for FTP/SFTP, sufficient for a lone developer to work on a simple project. If you are working on a complex project or with multiple developers, you should use a version control system. NetBeans IDE supports a number of version control systems. See our Subversion and Git tutorials, for example. If you must use FTP/SFTP with a complex project, consider using the IDE in combination with a full-featured FTP client, and editing the PHP project in the IDE as a local web site.

JDK 7 + Windows 7/Vista: Windows 7 and Windows Vista firewall blocks some FTP operations that are launched by JDK 7. See NetBeans forum for workaround.

To deploy your PHP application on a remote server, you will need to register an account on a hosting provider. You can also deploy a MySQL database on the remote server where you have a hosting account.

All the user names, passwords, and email addresses are fake and used as examples only. The administration of the hosting blocks an account if the user does not show up on the forum fore more than a week. So you may fail to apply exactly the same user names, passwords, email addresses, and other credentials from the tutorial.


Content on this page applies to NetBeans IDE 6.9-7.0

To follow this tutorial, you need the following software and resources.

Software or Resource Version Required
NetBeans IDE PHP download bundle
A PHP engine Version 5
A hosting account and
an FTP account on a remote server
For example, x10Hosting
provides free FTP account hosting.
A PHP debugger (optional) XDebug 2.0 or later

Setting Up Run Configuration for PHP Projects to be Hosted Remotely

If you have a hosting account on a remote Web server and an FTP account to transfer your source files to the remote server, you can create and debug your PHP project locally and then deploy it on the remote server. With the concept of Run Configurations, you can switch between these workflows within the same NetBeans PHP project by changing the Run Configuration type from Local Web Site to Remote Web Site.

To enable running a PHP application on a remote web server, you need to set up a run configuration that contains an FTP connection profile.

If you already have a project with a default run configuration and you want to add a new remote run configuration, customize your project:

  1. Click the right mouse button on the project node and choose Properties from the popup menu. The Project Properties panel opens.
  2. From the Categories list, choose Run Configuration. The Run Configurations panel opens.
  3. Choose the run configuration type and specify the (S)FTP connection settings as described in the sections below.
To create a NetBeans project for a PHP application on a remote server, or to create a new project that uses a remote run configuration as default:
  1. Start the IDE, choose File -> New Project. The New Project panel opens.
  2. Choose PHP from the Categories and choose the PHP Application from Remote Server. Then click Next. The Name and Location panel opens.
  3. Specify the project name, the location of the application source files, and the location of the project internal files (optional). Click Next. The Run Configuration panel opens.
  4. Specify the FTP connection settings as described in the section below.

Choosing the Run Configuration Type

On the Run Configurations panel, choose Remote Web Site (FTP, SFTP) from the Run As dropdown list. The hidden area for setting up the configuration displays.

If you are creating a new project with the PHP Application from Remote Server wizard, you do not need to choose from the Run As dropdown list. The wizard automatically takes you to the Remote Connection panel. This panel has only Project URL, Remote Connections and Upload Directory fields.

Run Configuration screen for Remote Web Site, no config chosen

Specifying the (S)FTP Connection Settings

To create an FTP connection:

  1. Click Manage next to the FTP Connection dropdown list. The Manage Remote Connections dialog box displays.
  2. Click Add. The Create New Connection dialog box opens. (It may open automatically if you are defining your first connection.)
  3. In the Connection Name field, enter the name of the new connection. In this example the connection name is x10hosting. From the Type dropdown list, choose FTP or SFTP. Click OK. The Manage Remote Connections dialog box displays with the name of the new connection in the Connection Name display field.
  4. In the Host Name field, enter the FTP Server name as it is written in the FTP account creation confirmation message. In this example, the FTP server is
  5. In the Port field, specify 21.
  6. In the User Name field, enter your FTP Username as it is written in the FTP account creation confirmation message. In this example, the FTP username is nbuser.
  7. Fill in the Password field. In this example the password is qwerty1234.
  8. In the Initial Directory field, enter the name of your account directory on the FTP server. In this example, no account directory is specified, enter a slash in the field.
    Manage FTP Connections dialogbox.
  9. Click OK. You return to the Run Configuration panel.
  10. In the Upload Directory field, enter the name of the subfolder in the initial directory where the source files will be uploaded. The prompt below the field shows the FTP host URL.
  11. To complete setting up a new project, click Finish.

Uploading the Source Files to a Remote Server

After you choose the remote connection for your project, select whether to upload your source files on run, on save, or manually.

  • On Run: Source files are uploaded to the server when you run the project.
  • On Save: Every change (create, edit, rename, delete) is immediately propagated to your remote server. If the operation takes more than 1 second, a progress bar is shown.
  • Manually: Files are never uploaded automatically. You must use the IDE's manual upload function, described in this section.

Run Configuration panel options for saving

To manually upload files from your project to your FTP server, right-click the Source Files node of your project and select Upload. Note that you can also download files from your FTP server in the same menu.

Context menu in Project Manager showing Upload option for PHP project Source Files

When you start to upload files, a dialog opens with a tree view of the source files. In this dialog, you can select individual files to upload or not upload. For more information, see the NetBeans PHP blog entry on the File Upload dialog.

Dialog where you can select files to upload

While you upload files, the results of your upload appear in an output tab.

Output tab for file upload

Running a PHP Application

To run a PHP application on a remote server:
  1. On the Properties panel, make sure that the Remote Web Site is chosen from the Run As dropdown list.
  2. Check the Run Configuration settings.
  3. If the project is set as main, click run main project button on the toolbar.
  4. If the project is not set as main, position the cursor on the project node and choose Run from the popup menu.

Using a Remote MySQL Database

Remote hosting services such as usually allow you to set up a MySQL database on their servers. You can create databases, manage users, and copy, read, update, or delete (CRUD) data with the tools provided by the remote hosting service.

For example, if you are using, you create a MySQL database by logging onto the x10Hosting cPanel and then opening the MySQL Databases panel. You can also create users, assign users to databases, and grant privileges to users in the MySQL Databases panel. You then can use the CRUD tools in the phpMyAdmin panel.

An alternative to working with remote database CRUD tools is to use NetBeans IDE's CRUD features to work with a local database. Then you can copy or dump the local database to the remote database. On, you can use their phpMyAdmin panel to upload the local database.

To send comments and suggestions, get support, and keep informed on the latest developments on the NetBeans IDE PHP development features, join the mailing list.

Back to the Learning Trail

get support for the NetBeans