Uniform Server PHP IDE: Introduction

From The Uniform Server Wiki
Jump to navigation Jump to search

 

MPG UniCenter

Uniform Server PHP IDE.

Uniform Server PHP IDE

Uniform Server is an excellent test WAMP; extract it, have a play and throw it away if you don’t like it. Similarly, this simple PHP IDE plugin is also a throw away. First extract a new version of Uniform Server and then the IDE. Once extracted you can start writing PHP CLI code and test it in the integrated console window. Alternatively you can write WebPage code and immediately run it on a working web server. Should this package not meet your expectations, just delete it and search the Internet for something that does.

The package offers a complete PHP coding environment, and is ideal for learning PHP. Scripts are entered using Notepad++, and a single button click provides syntax checking. Double clicking on any highlighted error takes you to the appropriate line in the edit window for correction. Corrected code is run from menu options either in a console window for CLI scripts or a browser to display web pages. Should the code not perform as expected, it can be debugged using the integrated XDebug PHP module and Notepad++ debug client.

WebPages are edited and updated directly on Uniform Server, avoiding the need to FTP completed pages to a server site.


Two versions

There are two variants of the IDE: self-contained and plugin.

  • The self-contained version includes a built-in PHP interpreter allowing it to run independent of Uniform Server. This is ideal for learning PHP and CLI scripting.
  • A plugin version which shares the PHP interpreter integrated in Uniform Server; this greatly reduces the plugin's size.

Choose one of the following installation options.


Installation option 1 -Self-contained Portable PHP IDE

Download and Install

The following assumes you are using drive H and folder us_ide_1. This is not mandatory; feel free to substitute another drive letter and folder as appropriate.

Download IDE

Download the self-extracting archive file from SourceForge.

  • Create a new folder H:\us_ide_1
  • Download file us_portable_php_ide_1_0_0.exe from SourceForge
  • Save to the above folder (us_ide_1)
  • Double click us_portable_php_ide_1_0_0.exe. This extracts all files; no need to change the path.
  • Folder us_portable_php_ide is created

Download Uniform Server

This step is optional. However if you want to create and test web pages, extract the latest version of Uniform Server UniServer 5.6.15-Nano or UniServer 6.0.5-Carbo

  • Save downloaded file; for example, UniServer5_6_15.exe to folder H:\us_ide_1
  • Double click UniServer5_6_15.exe to extract all files; no need to change the path.

Configuration

If you have downloaded Uniform Server and wish to run XDebug, it requires configuring as follows:

  • Navigate to folder H:\us_ide_1\UniServer
  • Start the server tray menu by double clicking on Start.exe
  • From the tray menu run Server Status - This rewrites all internal paths
  • Navigate to folder H:\us_ide_1\us_portable_php_ide\unicode\php\extensions
  • You need to copy the XDebug extension to Uniform Server. There are two versions: VC6 and VC9
    • For 5.6.15-Nano copy php_xdebug-2.1.0-5.3-vc6.dll to folder H:\us_ide_1\UniServer\usr\local\php\extensions
    • For 6.0.5-Carbo copy php_xdebug-2.1.0-5.3-vc9.dll to folder H:\us_ide_1\UniServer\usr\local\php\extensions
  • Edit the three PHP ini files:
    • H:\us_ide_1\UniServer\usr\local\php\php.ini
    • H:\us_ide_1\UniServer\usr\local\php\php.ini_delvelopment_nano
    • H:\us_ide_1\UniServer\usr\local\php\php.ini_production_nano
  • At the end of each file add the following section:
[xdebug]
zend_extension=H:/us_ide_1/UniServer/usr/local/php/extensions/php_xdebug-2.1.0-5.3-vc6.dll
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.idekey=default

Note 1:

Depending on the version that matches your installation, substitute the proper file name on the end of the path

zend_extension=H:/us_ide_1/UniServer/usr/local/php/extensions/php_xdebug-2.1.0-5.3-vc6.dll

Change extension "php_xdebug-2.1.0-5.3-vc6.dll" to match your version of Uniform Server

  • For 5.6.15-Nano use php_xdebug-2.1.0-5.3-vc6.dll
  • For 6.0.5-Carbo use php_xdebug-2.1.0-5.3-vc9.dll

Note 2:

If you now move folder us_ide_1 and all its content to a different location, all the paths will be automatically updated. Ensure the new location does not contain spaces in any folder names.


Installation option 2 - Plugin PHP IDE

Download and Install

The following assumes you are using drive H and folder us_ide_2. This is not mandatory; feel free to substitute another drive letter and folder as appropriate.

Download Uniform Server

Download the self-extracting archive file from SourceForge.

  • Create a new folder H:\us_ide_2
  • Extract the latest version of Uniform Server
  • Save the downloaded file; for example, UniServer5_6_15.exe to folder H:\us_ide_2
  • Double click UniServer5_6_15.exe This extracts all files; no need to change the path

Download IDE

Download the self-extracting archive file from SourceForge.

  • Download file us_plugin_php_ide_1_0_0.exe from SourceForge
  • Save to folder H:\us_ide_2\UniServer
  • Double click us_plugin_php_ide_1_0_0.exe. This extracts all files; no need to change the path
  • Folder H:\us_ide_2\UniServer\us_portable_ide is created

Configuration Part 1

To run XDebug on Uniform Server requires configuring as follows:

  • Navigate to folder H:\us_ide_2\UniServer
  • Start the server tray menu by double clicking on Start.exe
  • From the tray menu run Server Status - This rewrites all internal paths
  • Edit the three PHP ini files:
    • H:\us_ide_2\UniServer\usr\local\php\php.ini
    • H:\us_ide_2\UniServer\usr\local\php\php.ini_delvelopment_nano
    • H:\us_ide_2\UniServer\usr\local\php\php.ini_production_nano
  • At the end of each file add the following section:
[xdebug]
zend_extension=H:/us_ide_2/UniServer/usr/local/php/extensions/php_xdebug-2.1.0-5.3-vc6.dll
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.idekey=default

Note 1:

Depending on the version that matches your installation, substitute the proper file name on the end of the path

zend_extension=H:/us_ide_2/UniServer/usr/local/php/extensions/php_xdebug-2.1.0-5.3-vc6.dll

Change extension "php_xdebug-2.1.0-5.3-vc6.dll" to match your version of Uniform Server

  • For 5.6.15-Nano use php_xdebug-2.1.0-5.3-vc6.dll
  • For 6.0.5-Carbo use php_xdebug-2.1.0-5.3-vc9.dll

Note 2:

If you now move folder H:\us_ide_2\UniServer and all its content to a different location, all the paths are automatically updated. Ensure the new location does not contain spaces in any folder names.

Configuration Part 2

Edit file H:\us_ide_2\UniServer\usr\local\php\php_cli_ide_debug.ini

Change this line to match the php_xdebug version you are using (shown for 5.6.15-Nano)

zend_extension=./extensions/php_xdebug-2.1.0-5.3-vc6.dll


Folder Structure

Commonality

Folder structure for both versions is similar as shown on right  

  • A) Convenient folders for installation these can be any folder you like
  • B) Folder UniServer contains Start.exe starts Uniform Server's tray menu
  • C) Server root folder (www) location of WebPages you edit from Notepad++
  • D) Folder containing IDE and file Run_IDE.bat double click to start IDE
  • E) Folder php_scripts A convenient folder for your CLI scripts this can be any folder you choose.


Portable IDE

If you are learning PHP or writing PHP CLI scripts, there is no need for a server. You can delete folder UniServer B) and use the portable IDE in folder D.


Plugin IDE

This integrates both Uniform Server and IDE. In reality, this should be considered as the IDE!

Portable IDE

Plugin IDE


Design Information

A step-by-step design guide is provided; see page PHP PORTABLE IDE


Summary

The above shows how to install the Uniform Server IDE.

Next page provides an overview of the XDebug PHP module.