SlideShare a Scribd company logo
Getting Started with PHP on IBM i


Mike Pavlak
Solutions Consultant
mike.p@zend.com
mike 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.
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.
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 req's
                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
                                                                                        e




37   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 i
www.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.

More Related Content

PDF
What's new with Zend server
PDF
Zend In The Cloud
PDF
DA with Wa - Desktop Apps With Web Apps
PDF
A Tale of Two Toolkits
PDF
PHP in the Real World
PDF
Webfest 2011 PHP on Windows by Rama Yurindra
PDF
Virtualization aware Java VM
PPTX
Are you ready to work in the Parallel Universe? Rise to the challenge at SC13
What's new with Zend server
Zend In The Cloud
DA with Wa - Desktop Apps With Web Apps
A Tale of Two Toolkits
PHP in the Real World
Webfest 2011 PHP on Windows by Rama Yurindra
Virtualization aware Java VM
Are you ready to work in the Parallel Universe? Rise to the challenge at SC13

What's hot (20)

ODP
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
PDF
Application Deployment on IBM i
PDF
Code Reuse Made Easy: Uncovering the Hidden Gems of Corporate and Open Source...
PDF
GoOpen 2010: David Elboth
PDF
We Can Do Better - IBM's Vision for the Next Generation of Java Runtimes - Jo...
PDF
Why would a Java shop want to use Ruby?
PDF
Five cool ways the JVM can run Apache Spark faster
PPT
PDF
Under the Hood of the Testarossa JIT Compiler
PPT
Arista @ HPC on Wall Street 2012
PDF
Matthew Kaufman Future Of Communication With Rtmfp Final Revised
PDF
IBM IMPACT 2009 Conference Session 2078 - Extending and Integrating Popular P...
PDF
Using GPUs to Achieve Massive Parallelism in Java 8
PDF
IBM Sametime 8.5.2 installation - From Zero To Hero - Edge Components 18.12.2011
PPTX
Websphere Application Server: Much more than Open Source
ODP
PDF
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
PDF
Servidor IBM zEnterprise BC12
PDF
Server Day 2009: Spring dm Server by Alef Arendsen
PDF
Surviving The Downturn
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
Application Deployment on IBM i
Code Reuse Made Easy: Uncovering the Hidden Gems of Corporate and Open Source...
GoOpen 2010: David Elboth
We Can Do Better - IBM's Vision for the Next Generation of Java Runtimes - Jo...
Why would a Java shop want to use Ruby?
Five cool ways the JVM can run Apache Spark faster
Under the Hood of the Testarossa JIT Compiler
Arista @ HPC on Wall Street 2012
Matthew Kaufman Future Of Communication With Rtmfp Final Revised
IBM IMPACT 2009 Conference Session 2078 - Extending and Integrating Popular P...
Using GPUs to Achieve Massive Parallelism in Java 8
IBM Sametime 8.5.2 installation - From Zero To Hero - Edge Components 18.12.2011
Websphere Application Server: Much more than Open Source
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
Servidor IBM zEnterprise BC12
Server Day 2009: Spring dm Server by Alef Arendsen
Surviving The Downturn
Ad

Similar to Getting started with PHP on IBM i (20)

PPTX
Getting started with PHP on IBM i
PPTX
Zend Products and PHP for IBMi
PDF
Integrating PHP With System-i using Web Services
PDF
Business value of PHP
PPTX
PHP on IBM i Tutorial
PPT
Zend PHP Solutions for IBM i
PDF
Running open source PHP applications on you IBM i
PDF
Zend Framework Handout
PDF
Zend Framework Handout
PPT
How To Start Up With PHP In IBM i
PPT
How To Start Up With Php In Ibm I
PDF
Introduction to My SQL
PDF
Web services on IBM i with PHP and Zend Framework
PDF
IBM i: Fertile Ground for PHP Developers
PDF
Professional PHP: an open-source alternative for enterprise development [Kort...
PDF
PHP Toolkit from Zend and IBM: Open Source on IBM i
PPT
Introduction to PHP - SDPHP
PDF
Php through the eyes of a hoster confoo
PDF
Performance tuning PHP on IBMi
PDF
From Zero to ZF: Your first zend framework project on ibm i
Getting started with PHP on IBM i
Zend Products and PHP for IBMi
Integrating PHP With System-i using Web Services
Business value of PHP
PHP on IBM i Tutorial
Zend PHP Solutions for IBM i
Running open source PHP applications on you IBM i
Zend Framework Handout
Zend Framework Handout
How To Start Up With PHP In IBM i
How To Start Up With Php In Ibm I
Introduction to My SQL
Web services on IBM i with PHP and Zend Framework
IBM i: Fertile Ground for PHP Developers
Professional PHP: an open-source alternative for enterprise development [Kort...
PHP Toolkit from Zend and IBM: Open Source on IBM i
Introduction to PHP - SDPHP
Php through the eyes of a hoster confoo
Performance tuning PHP on IBMi
From Zero to ZF: Your first zend framework project on ibm i
Ad

More from COMMON Europe (20)

PDF
What's New in WebSphere Application Server
PDF
Compiling the Compiler
PDF
Workload Groups overview updates
PDF
Why i - Common Europe 2012
PDF
The Ruby OpenSSL extension
PDF
Using Ruby on IBM i (i5/OS)
PDF
IBM Systems Director Navigator for i
PDF
IBM i Trends & Directions Common Europe 2012
PDF
IBM i Technology Refreshes Overview 2012 06-04
PDF
IBM i 7.1 & TRs CEC 2012
PDF
DB2 Web Query whats new
PDF
Access client solutions overview
PDF
RPG investment
PDF
Php arrays for RPG programmers
PDF
Open source report writing tools for IBM i Vienna 2012
PDF
Moving 5.4 to 7.1 AB
PDF
IBM CEC 2012 Storage june 11, 2012
PDF
Developing mobile applications for i using open source tools Venna 2012
PDF
DB2 for i 7.1 - Whats New?
PPT
Common Europe SAP on i for beginners
What's New in WebSphere Application Server
Compiling the Compiler
Workload Groups overview updates
Why i - Common Europe 2012
The Ruby OpenSSL extension
Using Ruby on IBM i (i5/OS)
IBM Systems Director Navigator for i
IBM i Trends & Directions Common Europe 2012
IBM i Technology Refreshes Overview 2012 06-04
IBM i 7.1 & TRs CEC 2012
DB2 Web Query whats new
Access client solutions overview
RPG investment
Php arrays for RPG programmers
Open source report writing tools for IBM i Vienna 2012
Moving 5.4 to 7.1 AB
IBM CEC 2012 Storage june 11, 2012
Developing mobile applications for i using open source tools Venna 2012
DB2 for i 7.1 - Whats New?
Common Europe SAP on i for beginners

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
KodekX | Application Modernization Development
PDF
Empathic Computing: Creating Shared Understanding
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Cloud computing and distributed systems.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
Teaching material agriculture food technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Approach and Philosophy of On baking technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Big Data Technologies - Introduction.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
KodekX | Application Modernization Development
Empathic Computing: Creating Shared Understanding
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Encapsulation_ Review paper, used for researhc scholars
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
cuic standard and advanced reporting.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Cloud computing and distributed systems.
Building Integrated photovoltaic BIPV_UPV.pdf
Network Security Unit 5.pdf for BCA BBA.
Chapter 3 Spatial Domain Image Processing.pdf
Teaching material agriculture food technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Approach and Philosophy of On baking technology
The AUB Centre for AI in Media Proposal.docx
Mobile App Security Testing_ A Comprehensive Guide.pdf

Getting started with PHP on IBM i

  • 1. Getting Started with PHP on IBM i Mike Pavlak Solutions Consultant mike.p@zend.com mike 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 req's 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 e 37 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 i www.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.