Everyone knows installing PHP on IBM i is easy. Just download the save file and run the RSTLICPGM command. But not everyone knows what that RSTLICPGM does. What is it putting on the machine? Where is it putting it? How does it all work together? In this session, we'll take a look at the IFS directories added by the Zend Server installer, to see what's in them. We'll see where PHP and PHP extensions, Apache and FastCGI configurations, log files, and more are kept. We'll also talk about how these new file objects interact with existing prerequisite software on the IBM i to present dynamic pages to the web. This session is for PHP developers and administrators interested in learning how PHP fits in with the unique operating environment of IBM i.
2020/07/04
Power Platform Day Summer '20でお話しした内容です。
レコーディング動画
https://www.youtube.com/watch?v=odEt1O9kydM
イベント概要
https://power-platform.connpass.com/event/178495/
Bones have important mechanical, synthetic, and metabolic functions in the body. Tissue engineering aims to induce new functional bone tissue through the use of scaffolds, growth factors, and cells. Strategies for bone tissue engineering generally involve a carrier scaffold and biologically active factors like cells and proteins. Materials used can include metals, ceramics, and natural or synthetic polymers. The goal is for the scaffold to deliver osteoinductive molecules and cells to fill bone defects and facilitate healing through new bone formation.
Stem cells have potential for regeneration in dentistry. Dental stem cells can be isolated from tissues like pulp, periodontal ligament, and follicle. These stem cells demonstrate self-renewal and differentiation abilities. Studies show dental stem cells can generate dentin, bone, and whole tooth crowns. Periodontal regeneration utilizes stem cells which differentiate into fibroblasts, cementoblasts, and osteoblasts to form periodontal tissues. Specifically, periodontal ligament stem cells implanted into defects have generated cementum, bone, and ligament regeneration.
The document discusses two Rust-based full-text search engines: Tantivy and Bayard. It describes trying out Tantivy using its CLI tool to index 1000 Wikipedia articles and perform searches. It then discusses Bayard's features like supporting Japanese text, REST API, and clustering. The author shares their experience setting up Bayard with Docker to index and search Japanese sample data.
Install MariaDB on IBM i - Tips, troubleshooting, and moreRod Flohr
MariaDB is the new open source drop-in replacement for MySQL that has been adopted by IBM for use on Power Linux and IBM i. ZendDBi is the installer provided by Zend for installation of MariaDB on the IBM i. In this session we'll show how to use ZendDBi to install MariaDB and provide some important tips for post-installation. We'll also demonstrate troubleshooting some common installation issues. While most installations of MariaDB are trouble free, the troubleshooting procedures will give us a chance to understand a bit more about the operation of MariaDB on the IBM i. It'll also give us the opportunity to explore some concepts on IBM i that may not be familiar to some RPG programmers.
Running open source PHP applications on you IBM iProximity Group
At International i-Power 2015, Pete Samways presented a hands-on workshop entitled 'Running open source products on your IBM i'.
As the IBM i is a more open platform than it has ever been, it has become an excellent platform for running and developing web and mobile applications. In this practical workshop, attendees were guided through the process of installing and running open source PHP applications on their IBM i such as Drupal, Magento, WordPress, Mantis Bug Tracker and Sugar CRM. The session included live and guided demonstrations of installing Zend Server, Zend DBi and the applications themselves from a .zpk or from source.
Download the slides from the workshop to find out about more about Zend Server, some top tips for configuring Zend Server, what open source is, why PHP for open source and the advantages of PHP on the IBM i.
2020/07/04
Power Platform Day Summer '20でお話しした内容です。
レコーディング動画
https://www.youtube.com/watch?v=odEt1O9kydM
イベント概要
https://power-platform.connpass.com/event/178495/
Bones have important mechanical, synthetic, and metabolic functions in the body. Tissue engineering aims to induce new functional bone tissue through the use of scaffolds, growth factors, and cells. Strategies for bone tissue engineering generally involve a carrier scaffold and biologically active factors like cells and proteins. Materials used can include metals, ceramics, and natural or synthetic polymers. The goal is for the scaffold to deliver osteoinductive molecules and cells to fill bone defects and facilitate healing through new bone formation.
Stem cells have potential for regeneration in dentistry. Dental stem cells can be isolated from tissues like pulp, periodontal ligament, and follicle. These stem cells demonstrate self-renewal and differentiation abilities. Studies show dental stem cells can generate dentin, bone, and whole tooth crowns. Periodontal regeneration utilizes stem cells which differentiate into fibroblasts, cementoblasts, and osteoblasts to form periodontal tissues. Specifically, periodontal ligament stem cells implanted into defects have generated cementum, bone, and ligament regeneration.
The document discusses two Rust-based full-text search engines: Tantivy and Bayard. It describes trying out Tantivy using its CLI tool to index 1000 Wikipedia articles and perform searches. It then discusses Bayard's features like supporting Japanese text, REST API, and clustering. The author shares their experience setting up Bayard with Docker to index and search Japanese sample data.
Install MariaDB on IBM i - Tips, troubleshooting, and moreRod Flohr
MariaDB is the new open source drop-in replacement for MySQL that has been adopted by IBM for use on Power Linux and IBM i. ZendDBi is the installer provided by Zend for installation of MariaDB on the IBM i. In this session we'll show how to use ZendDBi to install MariaDB and provide some important tips for post-installation. We'll also demonstrate troubleshooting some common installation issues. While most installations of MariaDB are trouble free, the troubleshooting procedures will give us a chance to understand a bit more about the operation of MariaDB on the IBM i. It'll also give us the opportunity to explore some concepts on IBM i that may not be familiar to some RPG programmers.
Running open source PHP applications on you IBM iProximity Group
At International i-Power 2015, Pete Samways presented a hands-on workshop entitled 'Running open source products on your IBM i'.
As the IBM i is a more open platform than it has ever been, it has become an excellent platform for running and developing web and mobile applications. In this practical workshop, attendees were guided through the process of installing and running open source PHP applications on their IBM i such as Drupal, Magento, WordPress, Mantis Bug Tracker and Sugar CRM. The session included live and guided demonstrations of installing Zend Server, Zend DBi and the applications themselves from a .zpk or from source.
Download the slides from the workshop to find out about more about Zend Server, some top tips for configuring Zend Server, what open source is, why PHP for open source and the advantages of PHP on the IBM i.
Strategic Modernization with PHP on IBM iAlan Seiden
You know you need to modernize your IBM i applications, but where to start? In this talk, Alan will inspire you with creative examples of modernization on IBM i that provided a strong return on investment while controlling risk. Learn how to choose projects with the best return on investment, and then complete them with confidence. We will lead an honest discussion of the most effective strategies. Can RPG programmers learn PHP? Yes. Can new PHP developers be integrated into an existing IT department? Yes. Both approaches have merit. See creative ways to use PHP, not only to create new GUI front-ends, but to enhance existing interactive RPG programs. Please your users and business people by incorporating PHP into your shop.
Bringing modern PHP development to IBM i (ZendCon 2016)James Titcumb
Zend Server for IBM i has done a great job at allowing enterprise PHP applications to run smoothly on the IBM i platform. But what about developing for the platform? Having recently been hired for a PHP project on IBM i, we wanted to ensure the project was using the best practices possible. This involved embarking on a whole new collaborative journey - uniting expert platform knowledge with bleeding-edge modern PHP development practices. We'll show you the process our team went through on the project to revolutionize the client's development process by introducing database abstraction, unit tests, functional tests, continuous integration, automated deployment, and more.
Although IBM i is one of the most securable platforms available, the protection of critical data is often undermined by weak security design at the application level.
Avoid epic failure by designing your IBM i applications with these 5 security points in mind:
• Object ownership
• Adopted authority
• Public and private authorities
• Command line permission
• Client-server considerations
You’ll also learn why auditors are often deemed the programmer’s nemesis, and what it is they really need from you.
This presentation reviews of the many aspects of PHP performance that can impact day-to-day living. It explores basic concepts for resolution when PHP performance has got you down. The focus is on Zend Server configuration options including, but not limited to: caching, Apache settings, PHP syntax fundamentals, diagnosing bottlenecks, and DB2/SQL optimization.
Raz-Lee Security Inc. provides a suite of security, auditing, and compliance products for IBM i (AS/400) systems. The suite includes solutions for auditing, protection, encryption, databases, and evaluation. It offers hundreds of customizable reports, real-time alerts and actions, user and system monitoring, firewalls, antivirus software, password management, and tools to evaluate compliance with regulations like SOX, PCI, and HIPAA. The suite is designed to address insider threats, external risks, application data changes, and assess an organization's overall IBM i security status.
From Zero to ZF: Your first zend framework project on ibm iAlan Seiden
Step by step, I'll demonstrate the creation of a Zend Framework (ZF) project, with special attention to configuring the db2 adapter so it works well with IBM i.
This document provides an overview of working with the Integrated File System (IFS) on IBM i. It describes what the IFS is, how to process stream files using built-in commands or RPG APIs, and how to work with IFS directories and files using Navigator. It also lists common IFS commands and how to use them to manage directories, copy files, change permissions, and more when working with the IFS on IBM i.
This document provides an overview of connecting to and working with DB2 for IBM i from PHP applications. It discusses using Zend Server, which includes the ibm_db2 driver for connecting to DB2. The document reviews parameters for db2_connect() such as database name, username, password and optional options. It also covers topics like setting a default library, using library lists, and strategies for user profiles. An included sample script demonstrates prepared statements, binding parameters, and retrieving result sets from DB2 using ibm_db2.
The document discusses the LAMP security stack and introduces the Zend Framework. It summarizes LAMP as an open source stack using Linux, Apache, MySQL, and PHP/Python/Perl. It then discusses the Zend Framework, which is a PHP framework that aims to simplify tasks and demonstrate best practices. The framework focuses on being modular, industry-leading, and easy to use while taking advantage of PHP5 features.
A a sneak peek into PHP 7, Zend Server 9, Zend Studio 13.5, and what the combination brings to IBM i users. Available in Q3, sporting a new DB2 extension and lots of new goodies, Zend Server 9 will prove to be the biggest open source story to hit IBM i this year. Once you add the latest Zend Studio release (13.5), you’ll be well on your way to full web enablement.
Learn Red Hat Enterprise Linux 7.1 for IBM z Systems by Examples. This session shows what's new in the installation method, systemd management, rescue mode and how to use the automatic LUN scanning for NPIV FCP devices.
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Chris Tankersley
One thing that most programmers do not take the time to understand is the servers that their application lives on. Most know a smattering of Apache configs, PHP configs, and basic information about the OS. This talk will deal with looking at tools that can help you quickly set up a server and how it can help you be a better developer. We'll look at tools like puppet for server management, OSSEC for log management, different command line tools, and nagios/monit for system monitoring.
The document discusses building rich internet applications (RIAs) using Adobe Flex and AIR with a PHP/Zend Framework backend. It describes a project to modernize a legacy DOS-based dealer management system (DMS) by creating an internet-based version that provides data sharing and analytics capabilities. Flex and AIR were chosen for the user interface to provide a desktop-like experience, while PHP/Zend Framework handles the backend functionality. Challenges included a lack of server push capabilities and no hardware support in AIR. These issues were addressed through custom data transfer code and a Java server (Merapi) that could communicate with hardware devices.
One thing that most programmers do not take the time to understand is the servers that their application lives on. Most know a smattering of Apache configs, PHP configs, and basic information about the OS. This talk will deal with looking at tools that can help you quickly set up a server and how it can help you be a better developer. We'll look at tools like Puppet for server management, OSSEC for log management, different command line tools, and Nagios/Monit for system monitoring.
This document provides an agenda and slides for a presentation on ASP.NET Core by Sjoerd van der Meer and Albert Sluijter. The agenda includes topics on the history and introduction of .NET Core, the .NET Platform Standard, the .NET Command Line Interface, compilers, ASP.NET Core pipeline, ASP.NET Core MVC, and deploying ASP.NET Core applications to production. The slides include information on these topics as well as demos of building and running ASP.NET Core applications.
This document provides an overview of installing Apache Hadoop and Spark from scratch. It discusses prerequisites like servers, operating systems, and Hadoop distributions. Key Hadoop components like YARN, HDFS, MapReduce and Ambari are introduced. Apache Spark is summarized as a fast, general-purpose cluster computing system. The installation process is walked through, including using Ambari to deploy Hadoop services across master and slave nodes. Additional steps like adding nodes, automation with Ansible, and zero-installation options are also covered.
Setting advanced PHP development environmentKapil Sharma
This document provides guidance on setting up an advanced PHP development environment. It discusses the key components including operating system, web server, database, and programming language. It recommends LAMP (Linux, Apache, MySQL, PHP) as a common starting point. For the operating system, it suggests using Linux distributions, Windows with WAMP/XAMPP, or setting up components individually. The document then provides step-by-step instructions for configuring virtual hosts, installing additional tools like Composer, PHPUnit, and setting up a development environment using Vagrant for consistent environments across developers.
This document provides an overview of getting started with PHP on IBM i. It discusses understanding the PHP universe and stack, installing Zend Server and Zend Studio, and getting productive with PHP on IBM i through sample scripts. The key steps are installing Zend Server, configuring it, installing Zend Studio, connecting to databases and files on IBM i, and writing simple PHP scripts to output "Hello World" and retrieve data from a database.
One thing that most programmers do not take the time to understand is the servers that their application lives on. Most know a smattering of Apache configs, PHP configs, and basic information about the OS. This talk will deal with looking at tools that can help you quickly set up a server and how it can help you be a better developer. We'll look at tools like puppet for server management, OSSEC for log management, different command line tools, and nagios/monit for system monitoring.
php[world] 2015 Laravel 5.1: From Homestead to the CloudJoe Ferguson
Joe Ferguson gave a presentation on moving a Laravel project from local development with Homestead to deployment in the cloud with Laravel Forge. He discussed setting up Homestead for local development, configuring automated testing with tools like Travis CI, and using Laravel Forge and Envoyer for continuous delivery of code to remote servers in the cloud. The presentation provided steps for setting up each part of the development and deployment process.
This document provides an introduction to web technologies and PHP. It discusses the roles of web servers and browsers in communicating via HTTP. It also defines static and dynamic websites, and covers PHP features like being open source, easy to use, and allowing HTML embedding. Common web servers, browsers, variables, and control structures in PHP are defined. Functions in PHP can be defined with or without arguments and return values.
PHP Toolkit from Zend and IBM: Open Source on IBM iAlan Seiden
PHP developers on IBM i have a new way to access resources such as RPG and COBOL programs, system commands, data areas, and more, using a new, free, flexible, open source toolkit, supported by Zend. Using IBM's XMLSERVICE toolkit on the back end, it's all open source, enabling a high level of quality and functionality delivered by Zend, IBM, and IBM i community members who take the initiative.
You will learn:
• How your older PHP applications can use the new toolkit with minimal changes, thanks to the Compatibility Wrapper (CW), developed for Zend by Alan
And how to:
• Optimize performance
• Develop PHP on your laptop (Windows, Linux) or in the "cloud" and deploy to the IBM i
With suggestions for:
• Security
• Troubleshooting
• Tips and tricks to work with your IBM i in new ways
Midwest php 2013 deploying php on paas- why & howdotCloud
Deploying PHP applications to Platform as a Service (PaaS) can provide several benefits over traditional hosting methods. PaaS allows developers to quickly deploy new environments for testing code changes. It also handles tasks like optimizing stacks, upgrading software, and providing comprehensive routing. PaaS aims to make deployment as simple as uploading code and eliminates the need to manually configure servers. While there is an initial learning curve to using PaaS tools and reworking some applications, it can improve the development to production workflow and allow applications to easily scale on demand.
This document provides an agenda and overview for an OpenShift workshop on Python development. The workshop will introduce OpenShift and demonstrate how to create Python applications using the OpenShift platform-as-a-service. Attendees will learn to create applications from the command line and web console, add databases like MongoDB, and use tools like Git for version control. The document outlines assumptions about attendees' experience and what will be covered, including supported technologies, available resources, and terminology for the workshop.
Red Hat for IBM System z IBM Enterprise2014 Las Vegas Filipe Miranda
Red Hat Inc in a Nutshell
- Growing Market for Red Hat - Open Source Model
- Development Powerhouse
- JBoss for IBM System z
Overview of the collaboration between Red Hat and IBM
Red Hat Enterprise Linux 7 Overview
- Highlights about what is new Performance gains with
RHEL7
- CPU, Memory, I/O versus RHEL6
More details on new aspects of RHEL7
- Systemd deep dive
- More details about this new feature
- Linux Containers deep dive
- What can we really do with Linux Containers
- An introduction to Red Hat Openshift
Featured ISVs
- VERISTORM
- Hadoop on Linux for IBM System z
- Sine NOMINE
- High Availability Demo
Where to find more information about RHEL on IBM System z
PHP is famous for its ability to build web-based front ends, but it's also a flexible tool within batch processes--that is, as a utility language. Alan will show how to accomplish marvelous tasks by calling PHP from ordinary CL programs and with Job Queue functionality in Zend Server.
This document provides an overview of the PEAR DB abstraction layer. It allows for portable database programming in PHP by providing a common API that works across different database backends like MySQL, PostgreSQL, Oracle, etc. It handles tasks like prepared statements, transactions, error handling, and outputting query results in a standardized way. PEAR DB aims to simplify database programming and make applications less dependent on the underlying database system.
Similar to PHP Installed on IBM i - the Nickel Tour (20)
Instagram has become one of the most popular social media platforms, allowing people to share photos, videos, and stories with their followers. Sometimes, though, you might want to view someone's story without them knowing.
Ready to Unlock the Power of Blockchain!Toptal Tech
Imagine a world where data flows freely, yet remains secure. A world where trust is built into the fabric of every transaction. This is the promise of blockchain, a revolutionary technology poised to reshape our digital landscape.
Toptal Tech is at the forefront of this innovation, connecting you with the brightest minds in blockchain development. Together, we can unlock the potential of this transformative technology, building a future of transparency, security, and endless possibilities.
Discover the benefits of outsourcing SEO to Indiadavidjhones387
"Discover the benefits of outsourcing SEO to India! From cost-effective services and expert professionals to round-the-clock work advantages, learn how your business can achieve digital success with Indian SEO solutions.
I borrowed this title from wirecutter.com, an electronics review site I really like.
It’s like showing the new guy around the office. It’s probably enough to know where the supply cabinet is. You don’t have to stop and take inventory. Ooooh! Mechanical pencils. Pentel! I like those!
And also, I want to show you all this in 50 minutes. It’s kind of a lot. Incidentally, that is an actual picture of the Internet. That is exactly how it looks.
KB article: Download and install Zend Server for IBM i
Always make sure to select IBM i as the platform. This field has a tendency to flip back to Windows.
You will have a folder containing installation instructions and a save file. Always use the included instructions, rather than the instructions in the online documentation. The included instructions should be specific to this install.
These instructions are verbatim from the installation instructions included in the download. If you FTP the file before creating it as a Save File, it will be created automatically as a Physical File.
Continuing with the included instructions. This is a good excuse to give a quick demo of how to use netstat in a certain way that can be very useful from time to time.
Yes, we can already see that FTP is running, but let’s move on with the demo anyway.
F13 brings up the sort window. Select Local Port with a one.
Use F14 to show port numbers.
And there is FTP port 21.
Right clicking the directory collapses it into a more DOS friendly format for copy/paste. Copy it.
This is a handy, if somewhat clunky, feature to use copy and paste in the Command Prompt. Click the C:/ icon to access the context menu.
Don’t miss the bin command!
Enter the FTP command, then your name and password when prompted. Don’t forget the “bin” command! You can copy and past the put command in from the instructions.
This is just a quick sanity check to make sure the file is not a physical. Could happen if we misspelled the save file name when creating it, or when doing the PUT from FTP. dspsavf qgpl/zendphp7
5733SC1 is the most likely to be missing. 5733SC1 also must be at the same level as the OS!
Use F11 to display the release of 5733SC1. It must be the same release as the OS!
Use F11 to display the release of 5733SC1. It must be the same release as the OS!
I like to do the interactive installation. Makes it easier to spot an issue in the install. I also like to set log level to LOG(4 00 *SECLVL) LOGCLPGM(*YES) although, I did see one installation fail because it wrapped the job log, due to settings on the customer machine.
This is just something I like to do, being a Support guy.
This tells some basic info about what is installed. Briefly mention each item.
Press enter to accept. By all means read this. Not near as long as the EULA on your smart phone…
Occasional progress messages will appear.
That’s it. It is installed. Let’s check a couple of things, and then set up the UI.
Licensed program has a normal *INSTALLED status. Also, notice we still have Zend Server 8.5.2 installed on this same machine.
go zendphp7/zsmenu to see that the menu is there, another quick sanity check. You can also look at the jobs shown by Option 3 to make sure they are all there. We have a KB article that tells what they all need to be.
This should be done after installation, to accomplish the set up steps.
Read that EULA one more time!
Production is best for a single server. IBM i is always a single server.
Admin can update. Developer can only read.
This actually goes pretty fast.
All done! That wasn’t so bad.
After finishing the one time setup, this is the default start page.
This section is really the “Nickel Tour” I give customers, or most of it. This is the part I really want to get across to an RPG programmer with no web experience. By the way, this is derived from a flow chart that has been floating around here in various formats forever. I did flip it around and add some stuff for the purpose of this presentation, which is to show where things are. Also, my version is just a bunch of text in boxes with arrows that all go both ways. Well, except for that one picture of the actual internet.
Ping is a command you can run in Windows and on the IBM i command line.
I don’t know anybody’s phone number anymore. I used to have a lot of numbers memorized. Now I just look them up on my phone. I don’t even know my wife’s number. Like a company with more than one phone number, a computer can have more than one IP address. Each IP address has it’s own ports, so the same port number can be used twice, if the IP is different.
Request parameters are usually GET or POST parameters. GET parameters appear in the URL, so they are handy for bookmarking pages.
We get a lot of questions about why Zend Server 7 or 8 use the zendsvr6 folder and library name. They are all the same licensed program.
Never edit a binary file! Actually, never edit any file unless you know exactly what you are doing, and why.
With great power comes great responsibility… There is a reason the edit option is disabled by default for most file types.
All three ports have to be reserved for the Zend Server instance. If any of them is in use at start up, the start up will fail. This is why netstat can be so handy sometimes.
The NameVirtualHost directive doesn’t really do anything anymore in Apache 2.4. We keep it for now to provide 7.1 (Apache 2.2) compatibility.
PHP constructs a web page from static elements, data bases, information it finds on the web, and so on. It makes a Dynamic web page. By the way, question marks are the official flow chart symbol for “how does it know to do that?”.
The AddHandler directive pulls it all together to make sure .php scripts are processed by PHP. Notes on CGI: Common Gateway Interface – CGI is a way for web servers like Apache to talk to server programs like PHP. FastCGI is an open source CGI, compiled by OBM and included as part of the IBM HTTP Server Licensed Program distribution. They called it zend_enabler_module because they put it in when PHP was the only language in town, but it is now being used for other languages as well. It causes some confusion as to who supports it, since “zend” is in the name of it.
Notice Server type matches the AddType directive on the previous slide. CommandLine shows the location of the PHP executable. Go through the rest of the environment variables. PHPRC is the path to php,ini. It can be a problem if an editor wraps the line for display, and then leaves it like that with the line feeds inserted when it saves.
Sometimes the most important piece of information we have when researching an issue for support is the output found in that QPRINT spool file. It is often overlooked, because many people are just not aware of this method of writing shell output.
When you see “QP0C”, you’re not in Kansas anymore… The QP2 prefix is associated with the PASE shell. Php-cgi.bin is running fcgi_accept_request, so it looks like it is ready to accept the next request that comes.
It is important for all of these to be active when Apache is up, and for all of them to be stopped when Apache is stopped. If any of these are left over in an active state after Apache is stopped (zombie jobs), the same Apache instance cannot start back up.
There are actually 10 of the php-cgi jobs in TIMW status, the default number as configured in our distribution.
This screen shot shows the web address for the IBM Apache Admin. We navigated over to the ZENDPHP7 instance using the tabs and selection boxes in the UI. By the way, notice that the Apache version number appears here. The menu to the left shows the many things you can do in here.
See next slide for a screen shot of Navigator.
Here we have Zend Server 9 and Zend Server 8 with the standard Apache folder structure for IBM i. Apachedft and iwadft are IBM configs.
This is what it looks like with all of them running. Usually ZS_STR_PRN is not there by default, and ZSJAVA_BRG comes and goes, even if it is not in use.
If you double click, the directives expand and collapse, sometimes so quick you won’t notice. So be sure to only click once. The screen is so small in this screen shot you can’t see the tab we are on. It is Administration -> Components
Changes to directives should always be done in the UI. This prevents the UI database from falling out of sync with the actual configuration files. If they are out of sync, notifications will appear. Directive names are usually in the format of component.directive, to specify what the directive applies to.
The green changes saved message only stays around for a moment. The restart is required message sticks around much longer.
Another way you can tell you need a restart is the status is pending, and the value is green.
Still another way to tell a restart is due is that the restart icon is orange. After clicking the icon, you will be given the opportunity to cancel the restart.
Your new directive value is now the law of the land.
Config files are text files with the .ini suffix. Typical line format is directive=value.
If a directive is not in the UI, there is likely to be some good reason why it is not advisable to change it.
I know you see examples on the internet where they change this or that config file. If all your friends jumped off a bridge… You can probably make the same change using the UI, so please do it that way.
Remember how we enabled editing in Navigator? Remember how I told you to be careful not to change things? The editor should only be used to display files contents most of the time. This is one of those times. Just because it says “Edit” doesn’t mean you actually have to change something.
Note each directive is commented. The comment starts with a semicolon. Again, directives take the format component.directive.
Why do I keep repeating this? 10 years of support experience. Also, people read slide decks out of order, and this is one thing I really want to get across.
Let’s start back in the UI, with the PHP Info display. You can actually run the phpinfo() function in a script to display much of the same information, although in a less pretty presentation. Notice the Version info at the top, and the config file locations.
Local value is the runtime value for a directive. Master value is the value in the .ini file. Notice no prefix for the core directives.
Scroll down some more to see more extensions. Here is mysqli. Includes general information about the extension as well as directives. Notice the prefix for the extension.
This tab allows for editing of all the PHP directives, not just extensions. See next slide.
Notice the blank status for categories. These categories happen to be pretty close together in the table, which is why I chose them for the screen shot. Most of them are not so close together.
We can find max_execution_time under the Resource Limits and Tuning category. But we don’t have to know the category to find it.
We can simply search for the directive we want.
Easy peasy.
It is better to have a process around configuration changes to capture them. In the event you need to do a clean install, you will want to be able to put things back the way you like them. In general it is not a good idea to just poke around and change this or that to see what it might do. It is better to make deliberate choices and carefully observe the effects. Oh, and here’s another reason why it is a good idea to make your changes in the UI.
I keep mentioning not to edit these files because people do not always read slide decks in sequential order, and it is important.
Digging through logs is not so much fun, but sometimes it just has to be done.
Navigate to Monitoring -> Logs. Select the log you want to view. You can search for a string. Type in the string and press enter. More on next slide.
Not sure under what dire circumstance I would find a use for auto refreshing one of these logs every 30 seconds, but I am sure there must be something.
Zend Server logs detach at a certain specified size, 10m by default. When detached, they are renamed with a time stamp. Old logs do not need to be retained for a long time. They can usually be safely removed, or moved to another folder for archive purposes. Leaving too many here can cause the Support Tool to be too large to send. Remember you can also remove old php logs if you are rotating them regularly.
I don’t really have a good definition of “content” in this context. I am just going by usage.
Is that code? There wasn’t supposed to be any code in this presentation. Maybe it doesn’t count, since this program doesn’t do much of anything but confirm its own existence.