SlideShare a Scribd company logo
1 of 51
The First 5 Steps to Getting
         Started with PHP on IBM i

                       Function Junction
Mike Pavlak
Solutions Consultant
mike.p@zend.com
(815) 722 3454




                                           © All rights reserved. Zend Technologies, Inc.
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?




| 2   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
Agenda
      • Introduction to PHP and players
      • Zend Server for IBM i
      • Hello World
      • Administrative Setup
      • Zend Studio
      • PHP Data Access
      • Wrap it up, I’ll take it…
      • Please fill out session evaluation!




| 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


| 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 already using it! (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”
       • 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,
            ,
             and more
   • Two Editions - Free “Community Edition”
     provided by IBM & Full commercial edition
        Both are production ready

   • Application monitoring and diagnostics
     (integrated with Zend Studio)
   • Multi-level performance enhancement
     capabilities
   • Software updates and security hot fixes
   • Easy and quick installation
   • Zend Framework Integration


| 12   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
Zend Server for IBM i
       • Next generation of PHP stack for IBM i
       • Best of both Zend Core and Zend Platform
       • Single Licensed Program Installation
       • One installable acts like two products
            Zend Server for IBM i Community Edition

                  • Available at no charge per IBM partnership
            Zend Server for IBM i

                  • Subscription available from Zend (License Key)
                  • High value extra features
                  • Higher Support SLAs


| 13   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
Why a new generation?
       • Based on feedback of key areas for Improvement
       • Improved basic PHP Performance
            30% to 600% depending on the application

       • New capabilities
            Application Monitoring

            Code Tracing – Faster problem resolution

            Job Queue – Performance and scalability

            Multi-Level Caching – Performance and Scalability

            Support for PHP 5.3

       • Easier installation, administration & maintenance

| 14   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

                                                     HTTP:10088
                                      URL Request                                                                    *PGM
                                                       Server                                         PHP CGI
                                                           (FastCGI)
                                                                                                                     CMD
                                          HTML


                                                                                                     Zend Server
                                                                                                                   DB2 UDB




| 15   Geting Started with PHP on IBM i             © All rights reserved. Zend Technologies, Inc.
Software Pre-req's
                 Please read the Installation Guide !!!


           Description                                                       Product Option    Licensed Program
           --------------------------------------                            ---------------   ----------------
           Portable App Solutions Environment                                33                57XXss1
           Qshell                                                            30                57XXss1
           System Openness Includes                                          13                57XXss1
           IBM Portable Utilities For I5/OS                                  *base             5733sc1
           OpenSSH ,OpenSST,Zlib                                             1                 5733sc1




                     Make sure they match your release!
| 16   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:
            See Zend Server installation documentation!!!

            i5/OS V5R3 Core is still available, Server will not load!

            V5R4, i6.1, i7.1 (all interim releases, too)

            Recent Cumulative PTF package, PASE, Qshell, Group for HTTP

       • 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

| 18   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
Where do I get it? IBM LP or Zend.com




| 19   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
PHP Transaction Lifecycle
                                                             User Request
                                                               /Review


                    HTML, JavaScript, etc.                        Browser                           HTTP/HTTPS




                                          Apache                                                     Apache
                                           Sends                                                    Receives

                       Output Buffer                                                                      IFS Files


                                                                  Zend                                           DB2 & Toolkit
                                                               Server PHP                                        access to IBM I
                                                                                                                 Resources
                                                                    PASE
| 20   Geting Started with PHP on IBM i            © All rights reserved. Zend Technologies, Inc.
Start/stop Zend Server, MySQL, etc...
               Type GO ZENDSVR/ZSMENU, Option 5 then 1




| 21   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




| 22   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
         Click Apply & restart the
           server




                                                 Copyright © 2009 Zend Technologies, Inc, All rights reserved
|| 23
   23    Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.                      02/03/
Sample Scripts!




|| 24
   24   Copyright © 2009 Zend Technologies, Inc, All rights
        Geting Started with PHP on IBM i
        reserved
                                                              © All rights reserved. Zend Technologies, Inc.   02/03/
Sample Scripts!




| 25   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
Zend Server php.ini changes
• Manage php.ini via GUI
  in Zend Server
        Log in with initial
          password, can reset in
          green screen 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!


| 26    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 8 for IBM i

       • Included for IBM i customers w/1 year support & upgrades
       • Essential IDE for PHP on IBM i
       • Syntax checker & code Completion
       • JavaScript Library Support
       • Debugger
       • Built on Eclipse framework
       • Function directory
       • Templates
       • Much, much, more

| 28   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
Zend Studio 8 for IBM i - Installation

       • Download program from Zend.com/en/downloads (IBM i
         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




| 29   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!




| 30   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+



| 31   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
Configuring a remote server
       • Start Zend Studio for IBM i
       • Click the new connection button and select SSH
       • Enter system name or IP address




| 32   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/zendcore/htdocs
         • Enter user credentials and your in!




| 33   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 SERVER(*FTP)

               STRTCPSVR SERVER(*FTP)

         • If you have concerns about the host side FTP change
           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



| 34   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
|
| 35   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
       • Browser URL: http://ibmisystem:10088/helloworld.php


                                <?php

                                          echo “Hello World”;

                                ?>



| 37   Geting Started with PHP on IBM i              © All rights reserved. Zend Technologies, Inc.
| 38   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
i5 Toolkit APIs
       • System values                     • Job logs                                       • User space
         i5_get_system_value                 i5_jobLog_list                                 i5_userspace_create
                                              i5_jobLog_list_read                            i5_userspace_prepare
       • Data areas                           i5_jobLog_list_close                           i5_userspace_get
         i5_data_area_prepare                                                                i5_userspace_put
         i5_data_area_receive             • Active jobs
         i5_data_area_send                  i5_job_list                                   • Programs
         i5_data_area_close                 i5_job_list_read                                i5_program_prepare
                                             i5_job_list_close                               I5_program_call
       • Print/Get spooled file
         i5_spool_list                    • Objects list
         i5_spool_list_read                 i5_object_list
         i5_spool_list_close                i5_object_list_read
         i5_spool_get_data                  i5_object_list_close
         i5_spool_from_file??


| 39    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
       •Up to 10 times faster
       •Object Oriented, but not too much!




| 40   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.
Example: Usage of all toolkit functions – Part 1
   ToolkitObj = new ToolkitService();
   ToolkitObj->setToolkitServiceParams(array(‟ControlKey‟=>‟*here‟, ‟Internal key‟=>‟/tmp/QAUser‟) );

   ToolkitObj->CLCommand(”addlible test”, ‟b‟);
    /* Call a program without parameters */
   ToolkitObj->PgmCall(‟TESTPGM‟, ‟TESTLIB‟, array(0), NULL, NULL);

   /* Call service program function “sum” which has 3 parms: 2 int input parms and 1 output parm */
   $params[] = array(„type‟=>‟10i0‟, „io‟=>‟in‟, ‟parm_name‟=>‟first‟, 100); /*first input parameter */
   $params[] = AddParameterInt (‘in’, 10, ‘second”, 200); /*second input parameter */
   $params[] = AddParameterInt („out‟, 10, „third‟, 0); /*third output parameter*/

   $Result = ToolkitObj->PgmCall(‟TESTSRVPGM‟, NULL, $Params, NULL, array(‟func‟, ‟sum‟));

   Var_dump($result );//$result[0]

   /*execute function again with a new data */
    ToolkitObj->SetParamValue($Params, „first‟, 20); /* reset value of first parameter*/

   ToolkitObj->SetParamValue($Params, „second‟, 30); /* reset value of second parameter*/

   ToolkitObj->PgmCall(‟TESTSRVPGM‟, NULL, $Params, NULL, array(‟func‟, ‟sum‟));

   ToolkitObj->disconnect();



| 41   Geting Started with PHP on IBM i   © 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.




| 43   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.   02/03/
Connection to DB2 for i
       • Need three things:
              System                                      Note: If your data sets have *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);
          if (!$i5link)
          echo 'Connection failed: '.db2_stmt_error().' : '.db2_stmt_errormsg();

          $sql = "SELECT * from zenddata.customer";

          $stmt = db2_exec($i5link,$sql)
          or die("Failed query:".db2_stmt_error().":".db2_stmt_errormsg());

          ?>

| 44   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.             02/03/
Reading data...
       Loop through record set
       <h1> Customer list for a company</h1>
       <TABLE 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)= $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> ");
       }
       echo „ </table> ';
       db2_close($i5link);

       ?>


| 45   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.   02/03/
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
            Remember, HTML is to PHP what DDS is to RPG

       • JavaScript won’t hurt
            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!



| 47   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.   02/03/
PHP 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
| 48   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.   02/03/
Online Resources…
       • Support?
              Zend.com/forums

              Zend.com/support-center

              Zend.com/products

              php.net – on-line PHP manual (Also in Zend Core!)

              Midrange.com WEB400 forum

       • Free code!
              Sourceforge.net – free applications

              phpclasses.org – free PHP code samples

              hotscripts.com – free PHP code
| 49   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.   02/03/
Questions?

                                           Thank you!!


                                          Mike.p@zend.com




| 50   Geting Started with PHP on IBM i     © All rights reserved. Zend Technologies, Inc.
Webinar

       To watch the recorded webinar, please go to


       http://www.zend.com/en/webinar/IBMi/70170000000bV6x-
       webinar-the-first-5-steps-to-get-started-on-ibm-i-
       20110323.flv
       or
       http://bit.ly/oe8MoP


       (a short registration is required)



| 51   Geting Started with PHP on IBM i   © All rights reserved. Zend Technologies, Inc.

More Related Content

More from Zend by Rogue Wave Software

Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Speed up web APIs with Expressive and Swoole (PHP Day 2018) Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Speed up web APIs with Expressive and Swoole (PHP Day 2018) Zend by Rogue Wave Software
 
The Sodium crypto library of PHP 7.2 (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)The Sodium crypto library of PHP 7.2 (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)Zend by Rogue Wave Software
 
Develop web APIs in PHP using middleware with Expressive (Code Europe)
Develop web APIs in PHP using middleware with Expressive (Code Europe)Develop web APIs in PHP using middleware with Expressive (Code Europe)
Develop web APIs in PHP using middleware with Expressive (Code Europe)Zend by Rogue Wave Software
 
Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i  Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i Zend by Rogue Wave Software
 

More from Zend by Rogue Wave Software (20)

Building web APIs in PHP with Zend Expressive
Building web APIs in PHP with Zend ExpressiveBuilding web APIs in PHP with Zend Expressive
Building web APIs in PHP with Zend Expressive
 
To PHP 7 and beyond
To PHP 7 and beyondTo PHP 7 and beyond
To PHP 7 and beyond
 
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Speed up web APIs with Expressive and Swoole (PHP Day 2018) Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
 
The Sodium crypto library of PHP 7.2 (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)The Sodium crypto library of PHP 7.2 (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)
 
Develop web APIs in PHP using middleware with Expressive (Code Europe)
Develop web APIs in PHP using middleware with Expressive (Code Europe)Develop web APIs in PHP using middleware with Expressive (Code Europe)
Develop web APIs in PHP using middleware with Expressive (Code Europe)
 
Middleware web APIs in PHP 7.x
Middleware web APIs in PHP 7.xMiddleware web APIs in PHP 7.x
Middleware web APIs in PHP 7.x
 
Ongoing management of your PHP 7 application
Ongoing management of your PHP 7 applicationOngoing management of your PHP 7 application
Ongoing management of your PHP 7 application
 
Developing web APIs using middleware in PHP 7
Developing web APIs using middleware in PHP 7Developing web APIs using middleware in PHP 7
Developing web APIs using middleware in PHP 7
 
The Docker development template for PHP
The Docker development template for PHPThe Docker development template for PHP
The Docker development template for PHP
 
The most exciting features of PHP 7.1
The most exciting features of PHP 7.1The most exciting features of PHP 7.1
The most exciting features of PHP 7.1
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
 
The new features of PHP 7
The new features of PHP 7The new features of PHP 7
The new features of PHP 7
 
Deploying PHP apps on the cloud
Deploying PHP apps on the cloudDeploying PHP apps on the cloud
Deploying PHP apps on the cloud
 
Data is dead. Long live data!
Data is dead. Long live data! Data is dead. Long live data!
Data is dead. Long live data!
 
Optimizing performance
Optimizing performanceOptimizing performance
Optimizing performance
 
Resolving problems & high availability
Resolving problems & high availabilityResolving problems & high availability
Resolving problems & high availability
 
Developing apps faster
Developing apps fasterDeveloping apps faster
Developing apps faster
 
Keeping up with PHP
Keeping up with PHPKeeping up with PHP
Keeping up with PHP
 
Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i  Fundamentals of performance tuning PHP on IBM i
Fundamentals of performance tuning PHP on IBM i
 
Getting started with PHP on IBM i
Getting started with PHP on IBM iGetting started with PHP on IBM i
Getting started with PHP on IBM i
 

Recently uploaded

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 

Recently uploaded (20)

Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 

The First 5 Steps to Get Started with PHP on IBM i

  • 1. The First 5 Steps to Getting Started with PHP on IBM i Function Junction Mike Pavlak Solutions Consultant mike.p@zend.com (815) 722 3454 © All rights reserved. Zend Technologies, Inc.
  • 2. 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? | 2 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 3. Agenda • Introduction to PHP and players • Zend Server for IBM i • Hello World • Administrative Setup • Zend Studio • PHP Data Access • Wrap it up, I’ll take it… • Please fill out session evaluation! | 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 | 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 already using it! (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” • 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, , and more • Two Editions - Free “Community Edition” provided by IBM & Full commercial edition  Both are production ready • Application monitoring and diagnostics (integrated with Zend Studio) • Multi-level performance enhancement capabilities • Software updates and security hot fixes • Easy and quick installation • Zend Framework Integration | 12 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 13. Zend Server for IBM i • Next generation of PHP stack for IBM i • Best of both Zend Core and Zend Platform • Single Licensed Program Installation • One installable acts like two products  Zend Server for IBM i Community Edition • Available at no charge per IBM partnership  Zend Server for IBM i • Subscription available from Zend (License Key) • High value extra features • Higher Support SLAs | 13 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 14. Why a new generation? • Based on feedback of key areas for Improvement • Improved basic PHP Performance  30% to 600% depending on the application • New capabilities  Application Monitoring  Code Tracing – Faster problem resolution  Job Queue – Performance and scalability  Multi-Level Caching – Performance and Scalability  Support for PHP 5.3 • Easier installation, administration & maintenance | 14 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 15. Zend Server Under the Covers IBM i ILE Apache:10088 i/OS • Default PHP file configuration PASE FastCGI HTTP:10088 URL Request *PGM Server PHP CGI (FastCGI) CMD HTML Zend Server DB2 UDB | 15 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 16. Software Pre-req's Please read the Installation Guide !!! Description Product Option Licensed Program -------------------------------------- --------------- ---------------- Portable App Solutions Environment 33 57XXss1 Qshell 30 57XXss1 System Openness Includes 13 57XXss1 IBM Portable Utilities For I5/OS *base 5733sc1 OpenSSH ,OpenSST,Zlib 1 5733sc1 Make sure they match your release! | 16 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 17. 3. Installing Zend Server © All rights reserved. Zend Technologies, Inc.
  • 18. Install Zend Server • Prerequisites:  See Zend Server installation documentation!!!  i5/OS V5R3 Core is still available, Server will not load!  V5R4, i6.1, i7.1 (all interim releases, too)  Recent Cumulative PTF package, PASE, Qshell, Group for HTTP • 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 | 18 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 19. Where do I get it? IBM LP or Zend.com | 19 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 20. PHP Transaction Lifecycle User Request /Review HTML, JavaScript, etc. Browser HTTP/HTTPS Apache Apache Sends Receives Output Buffer IFS Files Zend DB2 & Toolkit Server PHP access to IBM I Resources PASE | 20 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 21. Start/stop Zend Server, MySQL, etc...  Type GO ZENDSVR/ZSMENU, Option 5 then 1 | 21 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 22. Zend Server Configuration • Only two screens!  Use http://ibmiserver:2001 to administer IBM HTTP server  Use Zend Admin to administer Zend/PHP options | 22 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 23. 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  Click Apply & restart the server Copyright © 2009 Zend Technologies, Inc, All rights reserved || 23 23 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/
  • 24. Sample Scripts! || 24 24 Copyright © 2009 Zend Technologies, Inc, All rights Geting Started with PHP on IBM i reserved © All rights reserved. Zend Technologies, Inc. 02/03/
  • 25. Sample Scripts! | 25 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 26. Zend Server php.ini changes • Manage php.ini via GUI in Zend Server  Log in with initial password, can reset in green screen 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! | 26 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 27. 4. Install Zend Studio © All rights reserved. Zend Technologies, Inc.
  • 28. Zend Studio 8 for IBM i • Included for IBM i customers w/1 year support & upgrades • Essential IDE for PHP on IBM i • Syntax checker & code Completion • JavaScript Library Support • Debugger • Built on Eclipse framework • Function directory • Templates • Much, much, more | 28 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 29. Zend Studio 8 for IBM i - Installation • Download program from Zend.com/en/downloads (IBM i 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 | 29 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 30. 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! | 30 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 31. Remote Server Options • FTP  Familiar  Sluggish  Most systems support this • SSH  More secure  More powerful  Easy to setup  Easier to setup on i6.1+ | 31 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 32. Configuring a remote server • Start Zend Studio for IBM i • Click the new connection button and select SSH • Enter system name or IP address | 32 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 33. Navigate to files • Expand the tree for your system • Navigate to the directory /www/zendcore/htdocs • Enter user credentials and your in! | 33 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 34. Host side change • CHGFTPA NAMEFMT(*PATH) CURDIR(*HOMEDIR) LISTFMT(*UNIX) • Bounce FTP servers  ENDTCPSVR SERVER(*FTP)  STRTCPSVR SERVER(*FTP) • If you have concerns about the host side FTP change 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 | 34 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 35. | | 35 Geting Started with PHP on IBM i
  • 36. 5. Get Productive! Hello World © All rights reserved. Zend Technologies, Inc.
  • 37. 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 • Browser URL: http://ibmisystem:10088/helloworld.php <?php echo “Hello World”; ?> | 37 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 38. | 38 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 39. i5 Toolkit APIs • System values • Job logs • User space i5_get_system_value i5_jobLog_list i5_userspace_create i5_jobLog_list_read i5_userspace_prepare • Data areas i5_jobLog_list_close i5_userspace_get i5_data_area_prepare i5_userspace_put i5_data_area_receive • Active jobs i5_data_area_send i5_job_list • Programs i5_data_area_close i5_job_list_read i5_program_prepare i5_job_list_close I5_program_call • Print/Get spooled file i5_spool_list • Objects list i5_spool_list_read i5_object_list i5_spool_list_close i5_object_list_read i5_spool_get_data i5_object_list_close i5_spool_from_file?? | 39 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 40. Open Source Toolkit •Collaboration with IBM and Zend •Built on ILE RPG, Stored Procedures & pure PHP •Up to 10 times faster •Object Oriented, but not too much! | 40 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 41. Example: Usage of all toolkit functions – Part 1 ToolkitObj = new ToolkitService(); ToolkitObj->setToolkitServiceParams(array(‟ControlKey‟=>‟*here‟, ‟Internal key‟=>‟/tmp/QAUser‟) ); ToolkitObj->CLCommand(”addlible test”, ‟b‟); /* Call a program without parameters */ ToolkitObj->PgmCall(‟TESTPGM‟, ‟TESTLIB‟, array(0), NULL, NULL); /* Call service program function “sum” which has 3 parms: 2 int input parms and 1 output parm */ $params[] = array(„type‟=>‟10i0‟, „io‟=>‟in‟, ‟parm_name‟=>‟first‟, 100); /*first input parameter */ $params[] = AddParameterInt (‘in’, 10, ‘second”, 200); /*second input parameter */ $params[] = AddParameterInt („out‟, 10, „third‟, 0); /*third output parameter*/ $Result = ToolkitObj->PgmCall(‟TESTSRVPGM‟, NULL, $Params, NULL, array(‟func‟, ‟sum‟)); Var_dump($result );//$result[0] /*execute function again with a new data */ ToolkitObj->SetParamValue($Params, „first‟, 20); /* reset value of first parameter*/ ToolkitObj->SetParamValue($Params, „second‟, 30); /* reset value of second parameter*/ ToolkitObj->PgmCall(‟TESTSRVPGM‟, NULL, $Params, NULL, array(‟func‟, ‟sum‟)); ToolkitObj->disconnect(); | 41 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 42. PHP Data Access Example © All rights reserved. Zend Technologies, Inc.
  • 43. Basic file listing script • Connect to DB2 i • Select records from a DB2 table • Load the records in an HTML table • Display the output. | 43 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/
  • 44. Connection to DB2 for i • Need three things:  System Note: If your data sets have *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); if (!$i5link) echo 'Connection failed: '.db2_stmt_error().' : '.db2_stmt_errormsg(); $sql = "SELECT * from zenddata.customer"; $stmt = db2_exec($i5link,$sql) or die("Failed query:".db2_stmt_error().":".db2_stmt_errormsg()); ?> | 44 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/
  • 45. Reading data... Loop through record set <h1> Customer list for a company</h1> <TABLE 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)= $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> "); } echo „ </table> '; db2_close($i5link); ?> | 45 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/
  • 46. Getting Started with PHP on IBM i www.zend.com Wrap it up! © All rights reserved. Zend Technologies, Inc.
  • 47. Where do I go next? • Get some HTML training  Remember, HTML is to PHP what DDS is to RPG • JavaScript won’t hurt  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! | 47 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/
  • 48. PHP 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 | 48 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/
  • 49. Online Resources… • Support?  Zend.com/forums  Zend.com/support-center  Zend.com/products  php.net – on-line PHP manual (Also in Zend Core!)  Midrange.com WEB400 forum • Free code!  Sourceforge.net – free applications  phpclasses.org – free PHP code samples  hotscripts.com – free PHP code | 49 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc. 02/03/
  • 50. Questions? Thank you!! Mike.p@zend.com | 50 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.
  • 51. Webinar To watch the recorded webinar, please go to http://www.zend.com/en/webinar/IBMi/70170000000bV6x- webinar-the-first-5-steps-to-get-started-on-ibm-i- 20110323.flv or http://bit.ly/oe8MoP (a short registration is required) | 51 Geting Started with PHP on IBM i © All rights reserved. Zend Technologies, Inc.