Getting started with PHP on IBM i
Upcoming SlideShare
Loading in...5
×
 

Getting started with PHP on IBM i

on

  • 3,667 views

COMMON Europe Congress 2012 - Vienna

COMMON Europe Congress 2012 - Vienna

Statistics

Views

Total Views
3,667
Views on SlideShare
3,666
Embed Views
1

Actions

Likes
0
Downloads
31
Comments
0

1 Embed 1

http://www.slashdocs.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Getting started with PHP on IBM i Getting started with PHP on IBM i Presentation Transcript

  • Getting Started with PHP on IBM iMike PavlakSolutions Consultantmike.p@zend.commike p@zend com © All rights reserved. Zend Technologies, Inc.
  • PHP Sessions Sun 11:30 AM • What’s New with Zend Server Sun 1:30 PM • Business Value of PHP Sun 4:00 PM • Practical PHP by Example (Leth-Kjaer) Mon 10:00 AM • PHP on IBM i: Getting Started Mon 10:00 AM • DB Standards in Zend PHP usage (Sielhorst) Tue 10:00 AM • MySQL on IBM i, Open Source & DB2 Store Tue 11 30 A 11:30 AM • PHP Arrays for the RPG Programmer| 2 Copyright © 2009 Zend Technologies, Inc, All rights reserved © All rights reserved. Zend Technologies, Inc. 02/03/ 10
  • Audience • Are you looking to learn more about the what & how of PHP on IBM i? • Have you done some PHP but new to IBM i? • Are you already doing PHP but Looking for product refresh? • Might you be looking to grow beyond PDM/RPG?| 3 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. View slide
  • Agenda • The Five Steps… 1. Understand the PHP universe 2. Understand the “stack” on IBM i 3. Install Zend Server 4. Install Zend Studio 5. Get productive!| 4 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. View slide
  • 1. Understand the PHP Universe © All rights reserved. Zend Technologies, Inc.
  • PHP is a Scripting Language  PHP Hypertext Pre-Processor  Developed initially by Rasmus Lerdorf in 1994: PHP/FI  Zeev Suraski and Andi Gutmans Contributing since1997+ (ZEev + aNDi = Zend)  Interpreted, not compiled  Forgiving and intuitive code structure (Short learning curve)  Immediate feedback during development  Operating model is similar to Net.Data, not as verbose  PHP is to Java what RPG is to COBOL| 6 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Who is Zend? • Guiding light for PHP • Providers of stable, supported PHP distribution • Providers of commercial tooling and support for PHP  Zend Server  Zend Studio| 7 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Zend and IBM • Partnership began in 2005 • Renewed in 2008 • Zend selected by IBM to deliver PHP on IBM i • Zend solutions pre-loaded with IBM i 6.1 and 7.1!  Just install the LP and go! • You can still get products and updates at Zend.com • IBM i7.1 includes Zend Server • Relationship expanded in 2012 to include MySQL| 8 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Why Open Source? • Tough economic times calls for innovation  Low cost of entry  Applications of high quality  Lower TCO  Runs natively on IBM i, no need for additional hardware / OS  You are probably already using it! (Apache Eclipse etc ) (Apache, Eclipse, etc.) We’re not the only ones talking about Open Source… Look what IBM is saying in February ‘09 edition! http://www.ibmsystemsmag.com/ibmi| 9 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • The “Stack” Stack • Tested, business ready and supported distribution of PHP • Runs Native Environment under PASE • Home base for PHP modules like GD, PEAR, etc. • Browser based admin console • Accessible immediately after install • Let’s look at the architecture of the stack • And then installation on IBM i • No charge LP Included with system maintenance| 10 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 2. Zend Server for IBM i © All rights reserved. Zend Technologies, Inc.
  • What Is Zend Server? • Production quality PHP stack  PHP ZF, DB connectivity debugging extension PHP, ZF connectivity, extension, and more • Two Editions - Free “Community Edition” p provided by IBM & Full commercial edition y  Both are production ready • Application monitoring and diagnostics (integrated with Zend Studio) • Multi-level performance enhancement capabilities • S ft Software updates and security h t fi d t d it hot fixes • Easy and quick installation g • Zend Framework Integration| 12 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Zend Server Under the Covers IBM i ILE Apache:10088 i/OS • Default PHP file configuration PASE FastCGI as CG HTTP:10088 URL Request *PGM Server PHP CGI (FastCGI) CMD HTML Zend Server Z dS DB2 UDB| 13 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Software Pre reqs Pre-req s Please read the Installation Guide !!! Description Product Option Licensed Program -------------------------------------- --------------- ---------------- Portable App Solutions Environment 33 57XXss1 Qshell 30 57XXss1 System O S t Openness I l d Includes 13 57XXss1 57XX 1 IBM Portable Utilities For I5/OS *base 5733sc1 OpenSSH ,OpenSST,Zlib 1 5733sc1 Make sure they match your release!| 14 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 3. Installing Zend Server © All rights reserved. Zend Technologies, Inc.
  • Install Zend Server • Prerequisites:  S See Zend S Z d Server i t ll ti d installation documentation!!! t ti !!!  V5R4, i6.1, i7.1 (all interim releases, too)  Recent Cumulative PTF package PASE Qshell Group for HTTP package, PASE, Qshell, • Software installation  Windows Installation or...  Upload *SAVF, Restore, and start coding!  Clean installation can start the stack automatically • Bonus!  MySQL can be installed at the same time or can wait to install Zend DBi| 16 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Where do I get it? IBM LP or Zend com Zend.com| 17 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Start/stop Zend Server MySQL etc Server, MySQL, etc...  Type GO ZENDSVR/ZSMENU, Option 5 then 1| 18 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Zend Server Configuration • Only two screens!  Use http://ibmiserver:2001 to administer IBM HTTP server  Use Zend Admin to administer Zend/PHP options| 19 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Zend Server Port Change? • Default proxy points to Port 10088  Log in to IBM Admin Server and open up ZENDSVR  Go to General Server Configuration g  Click Apply & restart the server Copyright © 2009 Zend Technologies, Inc, All rights reserved|| 20 20 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/ 10
  • Sample Scripts!|| 21 21 Copyright © 2009 Zend Technologies, Inc, All rights Geting Started with PHP on IBM i reserved © All rights reserved. Zend Technologies, Inc. 02/03/ 10
  • Sample Scripts!| 22 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Zend Server php ini changes php.ini• Manage php.ini via GUI in Zend Server  Log in with initial password, can reset in green screen S Server Setup  Directives Open Source  Administer all values in php.ini  Include path is one of many options  Must restart PHP using new blue button!| 23 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 4. Install Zend Studio © All rights reserved. Zend Technologies, Inc.
  • Zend Studio 9 for all! • Included for IBM i customers w/1 year support & upgrades y pp pg • Essential IDE for PHP on IBM i • Syntax checker & code Completion • JavaScript Library Support • Debugger • Built on Eclipse framework • Function directory • Templates • M ch m ch more Much, much,| 25 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Zend Studio 9 for IBM i - Installation • Download program from Zend.com/en/downloads (IBM i p g ( Edition!) • Install to workstation (Mac, Windows, Linux) • Follow the prompts for licensing the product • Zend.com with QSRLNBR to license product • Start the IDE and begin coding PHP immediately| 26 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • How do I access IFS files? • Three methods I use  Netserver file associations (or a mapped local drive) • Can be sluggish  Remote server configuration • Best for all purposes  WRKLNK • Only for emergencies!| 27 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Remote Server Options • FTP  Familiar  Sluggish  Most systems support this • SSH  More secure  More powerful  Easy to setup  Easier to setup on i6.1+| 28 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Configuring a remote server • Start Zend Studio for IBM i • Cli k th new connection b tt and select SSH Click the ti button d l t • Enter system name or IP address| 29 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Navigate to files • Expand the tree for your system • Navigate to the directory /www/zendsvr/htdocs • Enter user credentials and your in!| 30 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Host side change • CHGFTPA NAMEFMT(*PATH) CURDIR(*HOMEDIR) LISTFMT(*UNIX) ( ) • Bounce FTP servers  ENDTCPSVR S V ( N C SV SERVER(*FTP) )  STRTCPSVR SERVER(*FTP) • If you have concerns about the host side FTP change y g consider the SSH method.  V5R4 - Will need to configure and start SSH.  i6.1+ uses STRTCPSVR command for SSHD  See http://wiki.midrange.com/index.php/SSH  User ID must be 8 chars or less. (Sorry, IBM restriction)| 31 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • || 32 Geting Started with PHP on IBM i
  • 5. Get Productive! Hello World © All rights reserved. Zend Technologies, Inc.
  • Sample Script – Hello World • Obligatory program when starting out • Confirms correct setup of PHP • Sample code: (Shortest PHP Macro around!) • Save script in IFS /www/zendsvr/htdocs/helloworld php /www/zendsvr/htdocs/helloworld.php • Browser URL: http://ibmisystem:10088/helloworld.php <?php echo “Hello World”; ?>| 34 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • | 35 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Open Source Toolkit •Collaboration with IBM and Zend •Built on ILE RPG Stored Procedures & pure PHP RPG, •Up to 10 times faster •Object Oriented, but not too much! Oriented •Old toolkit not going away, but support may be chargeable g| 36 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • Now the program call Set parameters based on function p Call program V I C a L n I o r Output results / e n g m m n i t e O t h n a v a t m l e37 Insert->Header & Footer © All rights reserved. Zend Technologies, Inc.
  • PHP Data Access Example © All rights reserved. Zend Technologies, Inc.
  • Basic file listing script • Connect to DB2 i • Select records from a DB2 table • Load the records in an HTML table • Display the output output.| 39 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/ 10
  • Connection to DB2 for i • Need three things:  System y Note: If your data sets have *PUBLIC PUBLIC  User ID access, no user or password is required  Password // Standard DB connection to DB2... $conn = "*LOCAL"; $name = "";$pwd = ""; $i5link = db2_connect($conn, $name, $pwd); _ ( p ) if (!$i5link) echo Connection failed: .db2_stmt_error(). : .db2_stmt_errormsg(); $sql = "SELECT * from zenddata.customer"; SELECT zenddata.customer ; $stmt = db2_exec($i5link,$sql) or die("Failed query:".db2_stmt_error().":".db2_stmt_errormsg()); ?>| 40 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/ 10
  • Reading data data... Loop through record set <h1> Customer list for a company</h1> <TABLE BORDER= 10 BORDERCOLOR="blue"><TBODY BGCOLOR="DEB887"> BORDER="10" BORDERCOLOR= blue ><TBODY BGCOLOR= DEB887 > <TR><TD>Customer Number</TD><TD>Customer Name</TD><TD>Address Line 1</TD> <TD>Address Line 2</TD><TD>City</TD><TD>State</TD><TD>Zip Code</TD></TR> <?php while($row=db2_fetch_array($stmt)){ list( $CUSTOMER_NUMBER, $CUSTOMER_NAME, $CUSTOMER_ADDRESS_LINE1, $CUSTOMER_ADDRESS_LINE2, $CUSTOMER_CITY, $CUSTOMER_STATE, $CUSTOMER_ZIP) $CUSTOMER ZIP)= $row; echo(“ <TR><TD> $CUSTOMER_NUMBER </TD><TD> $CUSTOMER_NAME </TD> <TD> $CUSTOMER_ADDRESS_LINE1 </TD><TD>$CUSTOMER_ADDRESS_LINE2 </TD> <TD> $CUSTOMER_CITY</TD><TD> $CUSTOMER_STATE </TD> <TD> $CUSTOMER ZIP </TD></TR> ") TD $CUSTOMER_ZIP /TD /TR "); } echo ‘ </table> ; db2_close($i5link); ?>| 41 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/ 10
  • Basic file listing script • Connect to DB2 i • Select records from a DB2 table • Load the records in an HTML table • Display the output output.| 42 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/ 10
  • Getting Started with PHP on IBM iwww.zend.com Wrap it up! © All rights reserved. Zend Technologies, Inc.
  • Where do I go next? • Get some HTML training g  Remember, HTML is to PHP what DDS is to RPG • JavaScript won’t hurt p  Can add pizzazz to web pages, but not required • Download free code – see online resource slide • Play, have fun, discover • Education, training more See zend.com • Practice, practice, practice!| 44 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/ 10
  • PHP Resources Resources… • Books  Sam’s teach yourself PHP, MySQL and Apache All in One (4th edition) ISBN:067232976X  Head First HTML with CSS and XHTML ISBN:059610197X  Zend Server Doc at Zend Website  IBM i Programmer’s Guide to PHP on IBM i – MC Press| 45 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/ 10
  • Online Resources Resources… • Support?  Zend com/forums Zend.com/forums  Zend.com/support-center Z d Zend.com/products / d t  php.net – on-line PHP manual  Midrange.com WEB400 forum • Free code!  Sourceforge.net – free applications  phpclasses.org – free PHP code samples  hotscripts.com – free PHP code| 46 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/ 10
  • Questions? Thank you!! Mike.p@zend.com Mike p@zend com| 47 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.