62
Community PHP is Open for Business Alan Seiden

PHP Open for Business - Seiden Group

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PHP Open for Business - Seiden Group

Community PHP is Open for Business AlanSeiden

Page 2: PHP Open for Business - Seiden Group

Principal,SeidenGroupMentorsCIOs&developmentteamsDelivermoderntechnicalsolutions

OpenSourceAdvocateCo-developerofPHPToolkitforIBMiFounderofClubSeidencommunity

Host/Sponsor,CIOSummit

Alan Seiden

Page 3: PHP Open for Business - Seiden Group

Developweb/mobileappsSupportPHP,includingCommunityPlus+

Traindevelopers:opensource&IBMi

PHPAPIsGitNode.jsDb2Python

Open Source Experts

seidengroup.com

Page 4: PHP Open for Business - Seiden Group

w  FreeCIOSummiteventsandconferencepresentations

w  IBMiPHPToolkit

w  ContributedtotheoriginalZendFramework

w  AswemakefixestoPHPcomponents,wegivebacktothecommunityw  Ibm_db2w  PDO_IBMw  Manyothersw  Unittestsforhighquality(100%passwithibm_db2)

Giving back to the community

Page 5: PHP Open for Business - Seiden Group

w  “RPGFive”performingatRPG&Db2Summitconference

Seiden Group in the Community

Page 6: PHP Open for Business - Seiden Group

w  “IBMiFreshFaces”interviewvideo2017

Seiden Group Thought Leaders

Page 7: PHP Open for Business - Seiden Group

w  cu

International partnership

https://www.cscweb.jp/

Page 8: PHP Open for Business - Seiden Group

Why PHP?

Page 9: PHP Open for Business - Seiden Group

w  PHP:bringingwebapplicationstoIBMisince2005-6

w  Award-winningapplicationsacrossallindustriesw  AccessyourDb2data,RPGcode,andmorew  PHPToolkithelpedcompatibilityandintegration

w  WebservicesandAPIsw  FirsttasteofcallingexternalAPIsfromIBMi

w  Creditcardpayments… Salesforce…manymorew  Convertinggreenscreenstoweb

Web apps and APIs

Page 10: PHP Open for Business - Seiden Group

w  PHPcanbecalledfromCLandRPGtoo!w  Softwaredevelopmentkits(SDKs)oftenwritteninPHPw  ControlflowfromtraditionalRPGw  UsePHPpowertoaccessAPIs,paymentgateways,createspreadsheets,

graphics

Use PHP from RPG, CL

Page 11: PHP Open for Business - Seiden Group

w  Communityandconferencesites

w Wordpress..beyondblogs..StarWarssite,more!

Wordpress and content management

Page 12: PHP Open for Business - Seiden Group

w  2004AlanneededPHPon“i5”!w  i5php.net—RobWard’ssite

w  2006ZendCore—IBMshippedinitsDVDsw  ZendPlatformpaidadd-on

w  2008-9ZendServerw  No-costOSS+adminpages+paidadd-onsbundledw  Basic/Professional/Enterpriselicenses

w  2019RPM-basedopenPHPbegunw  IncludesODBCagain,nowin64bits

PHP on IBM i timeline

Page 13: PHP Open for Business - Seiden Group

w  PHPisgoing“Open”withindustry-standardRPMformat,64-bit,installablewithYUMw  InitiatedbyIBMandZendin2019w  SeidenCommunityPlus+in2020

w  ZendServer“Basic”licensewithdrawnbyJune2021w  Professional/Enterprisestillavailableforpurchasew  OpenPHP(e.g.CommunityPlus+)fillsthegap

PHP in 2020-21: What’s NEW

Page 14: PHP Open for Business - Seiden Group

w  Quicktoinstallandupgradew  Lightweight—buthaswhatyouneed

w  Db2connectivity:w  Choiceofibm_db2,PDO_ODBC,PDO_IBM,andodbc

w  SupportsallthePHPframeworksw  Laminas(formerlyZendFramework)w  Laravel,others

w  Supportavailable

w  “ThesePHPRPMsmakemyhearthappy.ThisPHPissimilartowhatI’musedtoinLinux.”—youngdeveloper

More about CommunityPlus+ PHP

Page 15: PHP Open for Business - Seiden Group

•  PHPandMySQLarefoundationsofWordPressandmanyinternetsites

•  MariaDBisagoodsubstituteforMySQL

•  Theserunonmostplatforms,includingIBMi

PHP and MySQL

Page 16: PHP Open for Business - Seiden Group

•  InTR3/TR9,IBMwilldeliverMariaDB(drop-inreplacementforMySQL)viaYum

•  Seeannouncementhere:•  https://www.ibm.com/support/pages/ibm-i-73-tr9-enhancements

Good news for MySQL users

Page 17: PHP Open for Business - Seiden Group

w  PublicsitebasedonWordPressonIBMithatcallsRPGstoredprocedures

w  http://www.grar.com/

GRAR case study

Page 18: PHP Open for Business - Seiden Group

•  WPprovidesmarketingsite,themes,goodlook

•  CustomPHPcodeincludedinkeypages

GRAR uses WP for portal

Page 19: PHP Open for Business - Seiden Group

•  Security/accesstopages

•  CallingRPGstoredproceduresforheavylogic

•  Livedemo(iftime)

Custom PHP used by GRAR

Page 20: PHP Open for Business - Seiden Group

IBM’s Open Source Commitment

Page 21: PHP Open for Business - Seiden Group

w  IBMiChiefArchitectSteveWilloffersstrategicdirectiontoCIOSummitguestsin2018

Open source was in IBM’s plan

Page 22: PHP Open for Business - Seiden Group

w  Overthelastfewyears,fasterandbetter!

w  Yumcommandforeasyinstallation

w  RPMpackagemanagerw  https://en.wikipedia.org/wiki/RPM_Package_Manager

w  AccessClientSolutionstomanagewithaGUI

IBM built framework for open source

Page 23: PHP Open for Business - Seiden Group

Why RPM your PHP?

Page 24: PHP Open for Business - Seiden Group

w Minutesinsteadofhours

w  NoFTP’ing,unzipping,SAVFs

w  Industry-standardYumcommandw  SameasothercurrentIBMiopensourcew  StandardIBM/QOpenSys/pkgslocation

w  Quickupgradesw  yum update

w  Gainevenmorespeedbyautomating/scriptingtheinstallationw  Customizationforyourcountry/userbaseispossible

Quick installation

Page 25: PHP Open for Business - Seiden Group

Flexible installation

w Chooseor

w ExistingApacheandFastCGIconfigsstillwork!

w Multiplewebserverinstancesfordifferentworkloads

w TestinparallelwithexistingZendServer

w  Installmultipleversionsviachroot

Page 26: PHP Open for Business - Seiden Group

w  RPMPHPis64-bit,whilepreviousPHPwas32-bitw  (asofOctober2020)

w Whatdoesthatmean?w  Morememory,nomorememorydumperrors

w  Good-bye,“LDR_CNTRL”memoryhack!

More bits = more data without errors

Page 27: PHP Open for Business - Seiden Group

w  PHP7.4andcounting

w  SomecommunityPHPreposweremissingsomeoftheextensionsthatwerebundledinZendServer….“Werebuildthem!”

w  SeidenGroupmaintains“missing”modulesw  64-bitIbm_db2,Ldap,Zip,Imagick,ssh2,intlw  mail()withstandardsendmailAlso,CommunityPlus+…

w  InstallsPHPToolkitw  ProvidesdigitallysignedRPMs(security)w  Setsoptimized.inisettingsforIBMi

This has what you want in PHP

Page 28: PHP Open for Business - Seiden Group

w  CompatiblewithothercommunityPHPofferings

w  UseyumtoupdateandinstallfromCommunityPlus+orothers

w Weuseallstandard,opensourcecomponents.Nothingproprietary

w  Givesyouoptions(nolock-in)

CommunityPlus+ Compatibility

Page 29: PHP Open for Business - Seiden Group

Ready for Business

Page 30: PHP Open for Business - Seiden Group

w  SeidenCommunityPlus+packages:

w  Digitallysignedforsecurityw  https://www.seidengroup.com/2020/07/23/rpm-package-signing/

w  Updatedfrequently,alongwithPHP’sownschedule

w  Availableinmultiplemodernversions(7.3and7.4today)

w  SupportedbySeidenGroup’sPHPexpertsw  Quick,accurateadviceandfixes

Business-Ready Open Source

Page 31: PHP Open for Business - Seiden Group

PHP 7 and CommunityPlus+

Performance Benchmarks

Page 32: PHP Open for Business - Seiden Group

w  SpurredbycompetitionwithFacebook’s“Hack”

w  Noticeablespeeduponlargesites—pages“pop”

PHP 7 Faster than PHP 5.x

Page 33: PHP Open for Business - Seiden Group

w  Newfeaturesin7.x:w  https://www.php.net/manual/en/migration70.new-features.php

w  Yourcodeshould“justwork”withafewexceptionsw  https://www.seidengroup.com/2017/07/24/resources-for-upgrading-to-php-7-on-ibm-i/w  OldMySQLcodeusingthemysql_*functionsshouldbeupdatedto

mysqli_*(“IMySQLImproved”)orPDOw  Oldregularexpressionsyntax“ereg()”wasremoved

w  RPMupgradetoPHP7:usespath/QOpenSys/pkgs/bin/php

Upgrading from PHP 5.6 to PHP 7

Page 34: PHP Open for Business - Seiden Group

w  FasterthanPHP7.3outofthebox

w  AgoodsteptowardPHP8.0

w  Alsoanopcacheimprovementw  Opcache.preloadw  opcache_compile_file($path)pre-compilesscriptsw  “Warmsup”theopcacheuponwebserverrestartw  Tryitwithlargeframeworksw  https://wiki.php.net/rfc/preload

w  Languageupdates:w  https://www.php.net/releases/7_4_0.php

PHP 7.4

Page 35: PHP Open for Business - Seiden Group

w WHEN:w  Targetedforlate2020w  ReleaseCandidate3isavailable

w WHAT:w  JustInTime(JIT)compilerw  ExecutecompiledcodedirectlyonhardwareratherthaninVMw  MayhelpCPU-boundapplicationsw  Expectmodestperformanceimprovementsw  https://thephp.website/en/issue/php-8-jit/

PHP 8.0

Page 36: PHP Open for Business - Seiden Group

Benchmark performance test https://github.com/vanilla-php/benchmark-php

Page 37: PHP Open for Business - Seiden Group

Performance results (first pass)

Withallextensionsturnedoff,forapples-to-applescomparisonNote:real-worldresultscanalwaysdifferfromsyntheticbenchmarks

Page 38: PHP Open for Business - Seiden Group

Let’s Install PHP!

Page 39: PHP Open for Business - Seiden Group

w  Ifyouoptedinwhenyouregisteredforthiswebinar,wewillsendyoudetailedinstructionsandlinks

w WerecommendSSHtogetintoPASEw  STRTCPSVR*SSHDw  Industry-standard:youngerdeveloperswillthankyou(installthebashshellforthem!)

w  OpensourcePASE-basedsoftwareworksbestinSSH

Install PHP using Yum and ACS

Page 40: PHP Open for Business - Seiden Group

ACS Open Source Package Management

w  IBMiSSHserverservicemustberunningonport22

Page 41: PHP Open for Business - Seiden Group

Open Source Package Management (ACS)

w  LoginwithaQSECOFRor*ALLOBJleveluser

Page 42: PHP Open for Business - Seiden Group

Open Source Package Management

w  Youmayreceivetheseprompts.JustsayYes!

Page 43: PHP Open for Business - Seiden Group

Open Source Package Management

w  Allisworkingifyouseealistofpackages!

Page 44: PHP Open for Business - Seiden Group

w  Theyumcommand:w  yum install php-* w  TIP:Youruserprofilemusthave*ALLOBJtoinstallviaYum

w  SetupApachewebserverw  CommunityPlus+hasautilitytosetupanewApacheserverautomaticallyw  Youcancreatemorethanone!Dev/test/productionw  RunsinparallelwithZendServerforeasytesting

w  OrreuseexistingPHPApacheinstances

Install PHP using Yum (continued)

Page 45: PHP Open for Business - Seiden Group

Configuration tips

Page 46: PHP Open for Business - Seiden Group

w  FastCGIprestartsPHPjobsforfastwebsites

w Minimalcontentsoffastcgi.conf(in/www/myserver/conf/):w  Server type="application/x-httpd-php" CommandLine="/QOpenSys/pkgs/bin/php-cgi" StartProcesses="1”

w  IpcDir /www/myweb/logs

w  Additional/optionalkeys:w  HowmanyPHPjobstostartw  SetEnv="PHP_FCGI_CHILDREN=20"

w  Howlongtowaitbeforea408timeoutw  RequestTimeout="60"

FastCGI configuration

Page 47: PHP Open for Business - Seiden Group

w  nginxwebserverw  FlexiblealternativetoApachew  Allowsautomatedsetup,includingofSSL(noDCM)w  NginxworkswellwithalternateFastCGIcalledphp-fpmw  Advancedoptionforopensourcegurus(popularonLinux)

w  Howtoinstallw  ‘yuminstallnginx’orviaACS

Nginx alternative to Apache

Page 48: PHP Open for Business - Seiden Group

w  Php.inisettingsw  Edit.INIsettingsdirectlywithoutmessinganythingupw  /QOpenSys/etc/php.iniand/QOpenSys/etc/conf.d/w  Editphp.inidirectlyusingEDTF/yourfavoriteeditor/vimJw  Thenrestartwebserverandgo!

w  Example:date.timezonew  https://www.php.net/manual/en/timezones.phpw  date.timezone = America/New_York

Simple editing of PHP INI settings

Page 49: PHP Open for Business - Seiden Group

Update easily and often

Page 50: PHP Open for Business - Seiden Group

w  Usetheyumcommand:w  yum update

w  OrACS“Updatesavailable”tab

Easy updates using Yum

Page 51: PHP Open for Business - Seiden Group

I would like security release PHP 7.4.11

Page 52: PHP Open for Business - Seiden Group

“yum update” command provides!

Page 53: PHP Open for Business - Seiden Group

New security update unlocked! <?php phpinfo() ?>

InstallingPHPcanbethiseasy!

Page 54: PHP Open for Business - Seiden Group

Services and Support

Page 55: PHP Open for Business - Seiden Group

w  Installationandmigrationassistancew  Makeiteasy!

w  FreecommunityQ&Aw  Ryver(https://ibmioss.ryver.com)w  IBMiOSSmidrange.comlist(https://archive.midrange.com/opensource)

w  SeidenGroupsupportSLAsforproductionbreak/fixanddevelopersupportw  SeidenGroupexpertswithapassionforPHPandIBMi

We fully support CommunityPlus+

Page 56: PHP Open for Business - Seiden Group

Migration to CommunityPlus+ PHP w WorkwithyourteamtoinstallfromSeidenrepositoryw  Devandproductionserversw  Configureandensureyouhaveallneededextensionsw  Reviewcurrentsettings—timeoutsforcallingAPIsetc,optimizew  Paralleltestingwithpreviousversion—includingperformance

w  Codeconversionasneededw  ibm_db2toODBCconversionifyoupreferODBCw  AnyupdatesforcompatibilitywithPHP7.xw  Ensuretoolkitcalls

w  InstallationandconfigofODBContheIBMi,ifneeded

Page 57: PHP Open for Business - Seiden Group

Production Support for CommunityPlus+ PHP

w  UPTIME:Haveconfidenceinuptimewith24x7break/fixproductionsupportforPHP,Apache,toolkit,etc.onproductionIBMiserver

w Wehandleallissues,including:w  Webserverwillnotstartw  Issuesafterupgradesw  Databaseortoolkitconnectivityissues

w Monitoring,proactivesupportandadvice,freeupgradeservicewithinaminorversionofPHP

Page 58: PHP Open for Business - Seiden Group

Dev Server Support for IBM i PHP

w  DevelopmentserversupportforPHPandenvironmentw  Testinadvanceofgeneralrelease,orrequestspecialcomponents

w  Regularbusinesshoursorbyarrangement

w  Refinedeveloperenvironmentthatmaybehinderingproductivityw  Usescreenshare,calls,teleconferencesw  Configurationandsetupquestions

w Resellerpartnerarrangementsavailable

Page 59: PHP Open for Business - Seiden Group

Linux and Windows Environment Support

w  DeveloperSupport,businesshoursorbyarrangement

w  “Call-a-friend”foradviceandguidance

w  Someincludeddiscussiontopics:w  Gitworkfloww  Automationw  Fasteronboardingofnewdevelopers

-centralizedconfigurationw  Linuxadmincommandsandadvice

w  Agrowingareafordevelopment-savetime,getbetterandbetterwithourLinuxandWindowsenvironmentexpertise

Page 60: PHP Open for Business - Seiden Group

Consulting, Training, web/API Development

w  APIstrategy--RPGandPHPw  IntegrationwithSalesforce/Mulesoft/creditcardprocessingetc.

w  Training/mentoringforIBMidevelopersinmodernPHPskillsandframeworks--ILEtoPHPinbabysteps

w  Staffaugmentationandappdevelopment

w  Performanceoptimizationandscalability

w  ExecutiveITcoaching/businesssynergy

w  IBMi,opensource,Db2,RPG…

Page 61: PHP Open for Business - Seiden Group

Reseller Partnerships w  Designedforsoftwaredevelopersandconsultantsw  SeidenGroupsupportforyouandyourcustomers

w  Choiceofbasicsupportor24/7ifyourclientneedsadditionalPHPorothersupportfortheirowndevelopmentinitiatives

w Specialbuildscustomizedforyourclientbase,softwarepackages,orregion

w Technicalsupportforyourteamw Youmayidentify/brandthesupportanddistributionsasyourownoralongwithSeidenGroupbranding(yourchoice)

w Specialpricingtomakethearrangementfeasibleandprofitableforyou

Page 62: PHP Open for Business - Seiden Group

AlanSeidenSeidenGroupOpenSourceSupportandCommunityPlus+PHP

Ho-Ho-Kus,[email protected]:@alanseidenStayinTouch:seidengroup.com/tips

Contact | Stay in Touch