PHP on IBM i Tutorial
-
Upload
zendcon -
Category
Technology
-
view
7.646 -
download
5
description
Transcript of PHP on IBM i Tutorial
IBM i Tutorial
By Mike Pavlak – Solution Consultant
2
IntroductionsWho do we have here?
3
Who is Mike?
Solution Consultant: Techie tagalong – Works w/Account Managers
Help account managers develop solutions for customers
IBM i advocate COMMON Americas Advisory Council
Omni User Group
IT Director, Development manager, Consultant, Programmer, Ops…
IBM i PHP Bigot!
4
Who are you?
• Around the room Name
Job Title
Company
What are you doing with PHP on IBM i?
5
ZendCon ‘09 – IBM i Events
• Sessions on Tuesday PHP Faster and Cheaper
• Sam Hennessy – Zend Technologies
Zend Core on IBM i – Security Considerations• Tony Cairns – IBM
PHP and IBM i - Database Alternatives• Erwin Early – IBM
Zend Framework on IBM i• Alan Seiden – Strategic Business Systems
Mazda: Advanced Web Services and PHP• Olivier Lépine - Quatrain Technologies
6
ZendCon ‘09 – IBM i Events (cont.)
Lunch• Tables will be labeled for i5 community networking
• Yes you can sit somewhere else
IBM i Networking Reception • Immediately following the “Meet the Team”
• Wednesday evening meet in the hall and head out
• Dinner is on you, but beers are on Zend!
• Gordon Biersch (note in your bag or see me!)
7
Review IBM i Product Line from Zend
• Zend Core (PHP Runtime) Still free
Silver support for one year after Feb 2009
• Zend Studio 7.0 for IBM i (IDE) Still free
Basic support for one year after Feb 2009
• Zend Platform (Box of tools) Annual subscription license
• Support upgrades available (Throat to choke!) Gold and Platinum
8
What’s new?
• Zend Server for IBM i New product that combines features from Core and
Platform
Single stack for all features
Alignment with other platforms!
One Apache server, not two! IBM server stays PASE server goes.
Still free version for i5 customers (Community Edition)
Currently in QA, beta soon GA after that
9
Current Architecture
Zend CoreHTML + PHP
HTTP:89Server
(Reverse Proxy)
Request
Response
System i5
i5/OS
DB2 UDB
HTTP:8000Server
PHP file
PASE
PHPModule
URL: http://myproxy:89/core/registration.php
Zend Platform
10
Agenda
• Toolkit functions
• Studio Integration Break #1
• Zend Server
• Open Source on IBM i Break #2
• Mix & Match Procedural PHP and Zend Framework
11
Toolkit functionsHow we talk to IBM i from PHP Scripts
12
Toolkit functions to be reviewed
• Differences between connections
• System Values
• Data Area
• Library List
• Object Listing
• Program Call
13
Survey question
• How many folks have used i5 functions?
• Which ones?
• What are we missing?
14
Connections, what’s the diff?
• i5_connect Access OS features
Access database features
Only available on i5, sorry Linux
• db2_connect Access database features only
Better performance
Great for ubiquitous development
15
Connection successful
16
Connection error
17
DB2 Connection
• Get doc at http://php.net/manual/en/book.ibm-db2.php
18
DB2 Connection
• i5 options listed here too!
19
DB2 Connection: Good
20
DB2 Connection: Bad
21
System value
• Build a “Manager Shortcut” menu
• Key pieces of info for software installation & BP’s
• Display via browser
22
System Value Code
23
System Value Display
24
Data Area
Use i5 to connect to IBM i
DB2 Connect will only take you to the Database
25
Data Area Access
26
Library List…
• I5_connect
• Get the data area without a library reference
27
Data Area with library list
28
Object Listing
• Given a library
• Show objects in the library
• Think of the list of objects as a result set from SQL
• Standard aproach Create list
Read list
This works for spooled files, active jobs, etc.
29
Object listing code
30
Object list output
31
A brief word about CSS
• Cascading Style Sheets
• Very powerful in maintaining consistent look and feel of elements across applications
• Will continue to use sample.css through presentation
32
Studio IntegrationHow Zend Platform works…
33
Debugging for the rest of us…
• Very few slides
• Lots of demo Debug
Platform
More…
34
Debug rules
• Must use port 8000!
• Tunnel helps a LOT
• Browser integration
• We’ll look at configuring debug in Zend Studio
• Then look at Zend Platform integration!
35
Break Be back in 10 minutes
36
Zend Server for IBM iThe next generation of the Zend Stack for IBM i
37
The next generation of IBM i Zend Stack
• Improvements: Faster, How fast? I can’t tell you…but it is faster!
One less Apache server (Yay!)
More powerful JOBQ function
Alignment with the other product lines
Lot’s of tweaks and enhancements
• Private Beta starting soon
• Public beta immediately afterward
38
Open Source on IBM iA quick look at PHPMyAdmin
39
Number 2 reason folks look at PHP on IBM i
• Agenda Explore benefits of open source on IBM i
Ponder a short list of popular applications
Examine the components for installation
Review the installation steps
Walk through a live implementation
40
phpMyAdmin
• Fabulous utility for accessing MySQL Data on ANY platform
• Written completely in PHP
• You must have MySQL installed
• Runs on IBM i…but…
• …not supported on IBM i
• DBU for MySQL!
41
What we will do with phpMyAdmin
• Demo the product
• Walk through the install steps
• Demo a live installation
42
phpMyAdmin
• Demo… http://cuper1.zend.com:89/phpmyadmin
Tour MIKEY1• Create table
• More features
43
phpMyAdmin – Installation process
• Pre-requisties: Zend Core for i5/OS
MySQL version 5 or greater
V5R4 or V6R1
• Agenda Get file
Move to IBM i
Un-tar
Configure
Play
44
Get phpMyAdmin file to IBM i
• Go to the host website, download current version http://www.phpmyadmin.net
Click Download at top of screen
Select version appropriate for you, I chose English tar.gz
45
Compression
• Compression and archive…
• TAR was done first
• Then GZIP was done. So….
• You need to work in reverse Unzip the file on your workstation (PKZip, etc.)
Move the file phpMyAdmin-3.2.2-english.tar to the IFS doc root
Then untar on the i5
46
Place file into document root
47
Command to untar
• Tar = Tap Archive
• Use QP2TERM interfac to untar Call QP2TERM
• Change to the document root CD /www/zendcore/htdocs
48
Open PASE Shell
49
Open PASE Shell
50
After the tar
• The screen will roll quite a bit then you get the $
• Now create a symbolic link to the directory for ease of use ln -s ./phpMyAdmin-3.2.2-english phpMyAdmin
51
Create the config file
• The config file tells phpMyAdmin where everything is. Create manually
Use automated feature
• Move to the phpMyAdmin directory cd phpmyadmin
• Create the directory & set security mkdir config
chmod o+rw config
52
Results of directory and security changes
53
Go to browser to run config
• http://your_host/path/to/phpMyAdmin/setup/
54
Scroll down to config options
• Click the New server button…
55
Enter server specific info
• Type a description of the server name
• Leave localhost for hostname…click SAVE
56
Finish options
• Select language, etc. And click save again
57
Copy the config file to phpMyAdmin directory
• You just created a config file in directory config
• Move the file to the phpMyAdmin directory for use mv config/config.inc.php .
chmod o-rw config.inc.php
58
Head to the phpMyAdmin login screen
• http://yourservername/phpMyAdmin/
59
Add user to MySQL
• cd /usr/local/mysql/bin
• Mysql –u root
• use mysql select user, password from user;
60
Before the addition
61
After the addition
• Add the user: CREATE USER ‘mpavlak'@‘%' IDENTIFIED BY ‘test1';
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO ‘mpavlak'@’%’;• Or
GRANT ALL ON *.* TO ‘mpavlak'@’%’;
62
And we’re in!
63
Break Be back in 10 minutes
64
Mix & matchProcedural PHP & Zend Framework
65
Procedural PHP and Zend Framework
• Agenda Look at a procedural PHP application that gets order info
Look at the info in a web page
Move info to PDF and distribute
Think ZF is hard? Guess again!
66
Zend_PDF
• Check out the Zend Framework website http://www.zendframework.com/manual/en/zend.pdf.html
• Look at an example that reads DB2 data and produces a PDF
67
Agenda
• Read order detail file
• Instantiate a PDF object
• Update the object with the contents of the order
• Write the PDF
• Dispose of the object
• Admire our work!
68
Zend_PDF
• Component of Zend Framework
• Comes with Zend Core for i5
• FREE!!!
• ZF is built by the community, for the community
• Documentation at: http://framework.zend.com/manual/en/zend.pdf.html
69
Build the content
• Read through the detail file…
70
Object & heading
• Create object
• Set heading
71
Body of print
• Develop line detail
• Output the PDF o the IFS
72
Windows Explorer view of IFS
• Once in the IFS you do what you want FTP, email, cms, etc…
73
The PDF!
74
Zend_PDF Documentation
• Check out Zend_PDF doc at ZendFramework.com Make it look pretty
Integrate into procedural development
Learn a little OO as you go
• Come to Zend for more training Higher Structures
Zend Framework
Certification prep
More…
75
Where to get more informationZend and other places
76
Free code!
• PHPClasses.org
• Hotscript.com
• Sourceforge.net
• Php.net
• Thefreecountry.com/php
77
Support
• Zend.com Forums
Knowledgebase
Webcasts
Downloads
Developer Zone
Product information & documentation
Paid products
78
New book, new printing, same great stuff!
Kevin Schroeder from Zend’s Global Services
Group
with
Jeff Olen, co-author of…
Get yours at MCPressonline
or at fine bookstores everywhere
79
Mike’s blog!
• http://mikepavlak/blogspot.com
• Aggregated at http://planet-i.org/
80
IBM i Events…reminder!!!
• Sessions on Tuesday PHP Faster and Cheaper
• Sam Hennessy – Zend Technologies
Zend Core on IBM i – Security Considerations• Tony Cairns – IBM
PHP and IBM i - Database Alternatives• Erwin Early – IBM
Zend Framework on IBM i• Alan Seiden – Strategic Business Systems
Mazda: Advanced Web Services and PHP• Olivier Lépine - Quatrain Technologies
81
IBM i Events (cont.)
Lunch• Tables will be labeled for i5 community networking
• Yes you can sit somewhere else
IBM i Networking Reception • Immediately following the “Meet the Team”
• Wednesday evening meet in the hall and head out
• Dinner is on you, but beers are on Zend!
• Gordon Biersch (note in your bag or see me!)
82
Please enjoy the Conference!Thank you!!!