Getting started with PHP on IBM i

  • 3,735 views
Uploaded on

COMMON Europe Congress 2012 - Vienna

COMMON Europe Congress 2012 - Vienna

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
3,735
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
31
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Getting Started with PHP on IBM iMike PavlakSolutions Consultantmike.p@zend.commike p@zend com © All rights reserved. Zend Technologies, Inc.
  • 2. 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
  • 3. 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.
  • 4. 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.
  • 5. 1. Understand the PHP Universe © All rights reserved. Zend Technologies, Inc.
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10. 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.
  • 11. 2. Zend Server for IBM i © All rights reserved. Zend Technologies, Inc.
  • 12. 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.
  • 13. 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.
  • 14. 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.
  • 15. 3. Installing Zend Server © All rights reserved. Zend Technologies, Inc.
  • 16. 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.
  • 17. 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.
  • 18. 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.
  • 19. 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.
  • 20. 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
  • 21. 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
  • 22. Sample Scripts!| 22 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 23. 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.
  • 24. 4. Install Zend Studio © All rights reserved. Zend Technologies, Inc.
  • 25. 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.
  • 26. 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.
  • 27. 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.
  • 28. 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.
  • 29. 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.
  • 30. 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.
  • 31. 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. || 32 Geting Started with PHP on IBM i
  • 33. 5. Get Productive! Hello World © All rights reserved. Zend Technologies, Inc.
  • 34. 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. | 35 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 36. 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.
  • 37. 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.
  • 38. PHP Data Access Example © All rights reserved. Zend Technologies, Inc.
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. Getting Started with PHP on IBM iwww.zend.com Wrap it up! © All rights reserved. Zend Technologies, Inc.
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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.