Home
Zend Server Reference Manual
Contents
1. 58 Zend Server Reference Manual a Mac OS X 1 Go into the System Preferences 2 Click on Accounts and select your account 3 Click on Startup Items 4 Click the sign next to the Zend Controller file The next time the system is restarted the Zend Controller runs at startup 59 Zend Server Reference Manual Tasks Working with Zend Server The following text describes how to work with Zend Server Each of the tasks in this section describes a different procedure that can be used to facilitate your PHP development process The following table lists the different tasks their descriptions and the expected outcome of each task Task Description Outcome Getting Started Review all the post installation tasks before working with Zend Server Access the Administration Interface Working with Extensions How to enable and disable extensions The environment is customized to suit your requirements Working with Logs How to view and add logs View and define which logs are displayed Working with Components How to enable and disable components Debugger Data Cache Guard Loader Java Bridge Download Server and Page Cache The environment is customized to suit your requirements Working with Directives How to enable and disable directives The environment is customized to suit your requirements Working with Optimizer How to use
2. Information Collected The number of occurrences is the best indicator A single occurrence can be disregarded change the Status of the Issue to Closed only if it occurs multiple times it is worth investigating Closed events that continue to receive new activity open automatically Applicable Diagnostic Actions Click on a link to see how to perform each action tools are listed in order of relevance to helping solve the event Use URL Tracing to collect further information about memory consumption Open code in editor to see if the script can be improved View information in the Logs Possible Causes and Solutions Database Functions Some queries may return large record sets and should be refined Iterative functions functions that include many foreach loops may cause excessive memory usage and should be reviewed to see if less memory can be consumed False Positives Sometimes requests consume large amounts of memory Not all requests that consume lots of memory are indicative of a problem in your code or environment and they may be no indication of unacceptable behavior If this is the case set issues triggered by this function to ignored 328 Zend Server Best Practices Inconsistent Output Size Description When a specific PHP request s output size deviates from the average by the percentage specified measured per URL it generates an event The Inconsistent Output Size Rule contain
3. Send email to send an email to a specified recipient s If you disable the email sending setting in Rule Management Monitoring by selecting the rule and changing the status when the setting is reactivated all the email addresses will be lost and the email setting will be set to the default email address Save Code Tracing Options 1 Save Code Tracing This action will save code trace data when an event of the proper type is generated by Zend Server s monitoring capabilities Note that tracing must be set to active mode 2 Awaken Tracing Functionality This action enables code tracing for a specific timeframe only relevant when code tracing is set to standby mode During this timeframe code tracing for monitoring is active and trace data is available to be saved according to regular tracing rules and conditions At the end of the timeframe code tracing for events will automatically revert to standby mode When code tracing for monitoring is set to inactive mode code tracing will ignore any save trace request coming from generated events 37 Zend Server Reference Manual Caching The Caching page is accessed from Rule Management Caching The Caching page is the central configuration area to configure rules to cache content by URL Caching by URL makes it easy to eliminate situations where the same file is used in multiple instances such as when the same file is used to redirect to several pa
4. This sets the Page Cache to cache content only when the _SESSION parameter username is not set Subsequently users that do have the _SESSION username set are presented with a live version of the page If necessary we can extend this limit to include all users whose username _SESSION parameter equals guest as follows _SESSION e username equals el guest Square brackets are not required for non nested variables when referring to superglobal variables in caching conditions If you do not use square brackets the system adds them automatically after you click Save This completes creating a Cache Rule Multiple Versions of Cached Pages 1 Choose to create compressed cache copies This option allows you to disable the creation of a gzip compressed version of each cached page as long as it is larger than 1KB You should normally leave this option checked By default Zend Server creates a compressed version of each cached page and stores it alongside the original version This compressed version is sent to browsers that support gzip compression all modern browsers support this instead of the uncompressed version For typical HTML XML or other text based outputs using the compressed version can save about 90 of the bandwidth and improve page load times In addition the compressed copy is saved in your cache so the CPU intensive process of real time compression is not required Howev
5. Zend Server Reference Manual Configuration Directive Details zend_dserver enable Enables or disables the Zend Download Server ZDS component This can also be done in Zend Server from Server Setup Components When turned to On the ZDS passes downloads to a dedicated process When turned to On all downloads are handled by the Apache server Type boolean Default Value 1 Available since version zend_dserver mime_types_file The full path to the MIME type file Type string Default Value zend_mime_types ini Available since version zend_dserver log_file The location of the Zend Download Server ZDS log file Type string Default Value dserver log Available since version zend_dserver log_verbosity The extension s log verbosity level 1 Fatal errors ZDS goes down lt br gt 2 Errors The currect request bails out lt br gt 3 Warnings not good but continue lt br gt 4 Notice important info lt br gt 5 Info verbosity information Type integer Default Value 2 Available since version 222 API Reference zend_dserver min_file_size The minimal file size that can be served via a ZDS process Smaller files are served via Apache Type integer Units KBytes Default Value 64 Available since version zend_dserver nice The ZDS process priority level The lower the number the higher the priority the process is given Type integer Default Value 10 Available since version zend_ds
6. component Component Description Turn Off Comment Debugger A remote Not recommended to turn off If you are not going to debugging tool for as itis great for development debug your code with the developers environments Debugger for example in a working with Zend In production when not production environment Studio debugging code disabling this component may provide a slight performance gain Optimizer Speeds up PHP Disabling has a negative execution through opcode caching and optimization impact on performance Guard Loader Loads and runs encoded PHP scripts Encoded with Zend Guard Required only if you are running PHP code that was encoded with Zend Guard If you are not a Zend Guard user either remove this component or do not install it it is an optional component Data Cache Cache data items If you are not using the Data or output Cache API in your code for partial content caching Java Bridge Calls Java classes Required only If you call Java If you are not a Java user and code from PHP code or objects from your PHP either remove this component or do not install optional component 290 Zend Server Best Practices Component Description Turn Off Comment Monitor Identifies Turn off temporarily only for performance performance testing reasons issues Not recommended to remove this component however it is best to configure accordi
7. Information Collected The most important details are Function Name As displayed in the Issue s General Details Error Data Listed in the Error Data tab Backtrace to investigate what function calls were executed just before the error was reported In most cases these details alone should be enough to indicate what happened to trigger an event Applicable Diagnostic Actions Click on a link to see how to perform each action tools are listed in order of relevance to helping solve the event Run the Debugger Open code in editor Redefine database queries View information in the Logs Possible Causes and Solutions Syntax Parse Errors missing or incorrect syntax in code that is found during PHP compilation Fatal Runtime Errors such as E WARNING and E_ERROR indicate that there was a call to an undefined function or that you did not load a specific extension or when classes and Functions are defined twice Possible Solution Open code and view Line and function that triggered the error Uncaught Exceptions generate fatal errors with a complete backtrace to trace the reason why the PHP error was reported Runtime Warnings The code did not run as expected Normally a notice is displayed and the code continues to run in an unexpected manner or the code will crash Possible solutions check your code for the following wrong DB QUERIES missing FILES STREAMS functions that are performing DIV BY ZE
8. Release version and status Zend Debugger Release version and status Zend Download Server Release version and status Zend Guard Loader Release version and status Zend Java Bridge Release version and status Zend Job Queue Release version and status Zend Monitor Release version and status Zend Optimizer The status of the Optimizer component used for opcode caching and optimizations Zend Page Cache Release version and status Zend Session Clustering Release version and status 29 Zend Server Reference Manual PHP Info The PHP Info page is accessed from Monitor PHP Info The PHP Info screen is a read only page that outputs a large amount of information about the current state of PHP It is an easily accessible representation of information contained in the php ini file including information about PHP compilation options and extensions the PHP version server information and environment PHP environment OS version information paths master and local values of configuration options HTTP headers and the PHP License The values displayed in the PHP Info page may differ from the system wide settings displayed further down the page in the Local View column of the Configuration section To see the system wide settings view information listed in the Master Value column Changing PHP Info The Administration Interface allows easy changing of PHP info through the Setup tab Any chan
9. Units seconds Default Value 10 Available since version 5 0 zend_jobqueue default_binding Default binding to the Job Queue Daemon It can be overridden using a parameter to ZendJobQueue constructor Type string Default Values e _unix jobqueue sock e Windows tcp 127 0 0 1 10085 Available since version 5 0 zend_jobqueue log_verbosity_level The extension s log verbosity level Level 1 includes very important info messages errors and warnings Level 2 displays notices Greater levels up to 5 serve debug purposes only Type integer Default Value 2 Available since version 5 0 254 API Reference zend_jobqueue log_rotation_size The maximum size of the log file before it is rotated Type integer Units MBytes Default Value 10 Available since version 5 0 zend_jobqueue named_queues The named queue format is a list of name gt binding pairs for example lt name gt lt binding gt lt name gt lt binding gt Names are unique and cannot be defined twice with a different value although the same binding with different aliases is accepted Type string Available since version 5 0 255 Zend Server Reference Manual Zend Job Queue PHP API Table of Contents 256 e ZendJobQueue The ZendJobQueue class O ZendJobQueue _ construct Creates a ZendJobQueue object connected to a Job Queue daemon ZendJobQueue createHttpJob Creates a new URL based job to make the Job Queue Daemo
10. Windows C Program Files Zend ZendServer Windows 64 bit C Program Files x86 Zend ZendServer DEB RPM usr local zend Tarball usr local zend Mac usr local zend For Zend Server installation directories see the Zend Server for IBM i Installation Guide Zend Server Reference Manual What s New in Zend Server What s New in Zend Server 5 0 3 Code tracing supports next previous error navigation and enables textual searching in the trace view What s New in Zend Server Cluster Manager 5 0 3 Zend Server Cluster Manager disabled mode enables to take a cluster member out of the cluster for offline maintenance and then re joining the member while maintaining the server s configuration and Cluster Management related data Detailed cluster members status reporting in Zend Server Cluster Manager Zend Server Cluster Manager upgrade workflow improvements What s New in Zend Server 5 0 2 Video Procedures Watch a video that shows the steps to complete a procedure The video icon Ee will be displayed next to procedural steps that already have a video Special Requests are welcome Feel free to ask for videos that you would like to see by sending a message to documentation zend com Code Tracing Code tracing captures PHP application execution both in production and in test lab environments This allows developers to replay reported problems instead of trying to re create them As a result there is a dramatic
11. Zend Server Reference Manual Windows Zend Server isn t Running Out of The Box This item refers to Windows OS using IIS 5 7 After installing Zend Server clicking on the shortcut opens the browser with an error Possible cause It could be that your Web site is not running Solution Turn on your Web site To turn on your Web site LJ 1 Go to My Computer 2 Right click and from the menu select Manage The management Console is displayed 3 Inthe navigation tree locate the node Internet Information Services Under this node is a list of Web sites make sure that the Web site Zend Server is associated with is running If it is not running there will be a red indicator on the folder 5 To set the Web site to run right click on the folder and set to start Try to run Zend Server again If this did not solve the problem more information can be found in the Zend Support Center http www zend com en support center Supported Web sites IIS5 users will only have one Web site Whereas IIS6 and IIS7 support multiple Web sites When activating a Web site make sure that you are activating the appropriate Web site the site that was selected in the installation process 352 Zend Server Best Practices Windows Zend Server not Loading Q This Item is only relevant for Windows If for any reason you cannot load Zend Server or one of the Zend Server related process causes a crash or unexpected system behavior use the installer in Rep
12. devzone zend com manual reference pcre pattern syntax html 41 Zend Server Reference Manual Recurring Jobs The Recurring Jobs page is accessed from Rule Management Recurring Jobs The Recurring Jobs page is the central configuration area to configure jobs to run by URL Running jobs by URL makes it easy to eliminate situations where the same file is run in multiple instances such as off loading tasks from the synchronous user request to an external parallel PHP process Zend Server also provides the ability to Schedule Jobs using the Job Queue API Zend Job Queue API To read more about the Job Queue see Working with Jobs From this page you can Filter Search for a specific job by name New Recurring Job Add a new job to the Recurring Jobs page Each new job is applied after restarting PHP Suspend Temporarily stop the job from running while still saving the job definitions Settings are applied after restarting PHP Resume Un suspend a job Settings are applied after restarting PHP Delete A multi selection for deleting redundant or unused Rules For each Rule you can 42 Edit Open the Rule for editing to modify settings To edit a job click on the Job s ID in the Job table History View the details of each time the job ran To view a Job s history click on the History link next to a job in the Job table s Actions column Zend Server Reference Manual Edit Rule Job Queue The Rule page is
13. to specify a range of IPs select the pattern you want from the drop down list 3 From the drop down list select an option according to the type of IP address you entered Click Exact IP address only for a single IP or one of the other options to represent a range of hosts 4 Click 200 to add the Host 5 The changes are applied after you restart the Server 85 Zend Server Reference Manual The IP or range of IPs is allowed to connect to the server to debug PHP code with Zend Studio To remove a specific IP from the list click Remove Important Note If your machine has several IP addresses for example if you are using a wireless network connection on a laptop verify that you have defined all the possible IP addresses as Allowed Hosts for Debugging or that the IP you want to use is first in the list of IPs in Zend Studio for Eclipse In Window Preferences PHP Debug Installed Debuggers verify that Zend Debugger is selected and click Configure in the Client Host IP field The following procedure describes how to define denied hosts for debugging Users define denied hosts to create a list of IP addresses of computers that run Zend Studio that do not have permission to debug the PHP code that runs on this server To define denied hosts for debugging SR 1 Inthe Administration Interface go to Server Setup Debugger 2 Inthe Denied Zend Studio Clients for Debugging section enter a valid IP address or use
14. zend_jobqueue log_rotation_size The maximum size of the log file before it is rotated Type integer Units MBytes Default Value 10 Available since version 5 0 zend_jobqueue global_directives_ini_file The ini file that contains the global directives as defined in ZendGlobalDirectiveDD xml Type string Default Value GLOBAL_DIRECTIVES_INI_FILE Available since version 5 0 277 Zend Server Reference Manual Zend Code Tracing Configuration Directives Configuration Directives Summary Directive Type sacl Description Is tracing zend_codetracing enable boolean ZEND_INI_PERDIR functionality enabled The size of the zend_codetracing buffer size string PHP_INI_SYSTEM trace memory buffer zend codetracing dump format integer PHP_INI ALL The type of dump produced The maximal zend_codetracing max_string integer PHP_INI_ALL length of the string before it is cut The maximal zend_codetracing max_ depth integer PHP_INI_ALL depth of the array preserved The maximal number of the zend_codetracing max_ elements integer PHP_INI_ALL array elements preserved The prefix for the zend_codetracing dump file string PHP_INI_ALL dump file names relative to zend data_dir Tracing data zend_codetracing trace enable boolean PHP_INI_ALL collection is enabled Timestamp zend_codetracing trace time boolean PHP_INI_ALL collection is enabled Source file information zend_codetracing trace source lines boolean PHP_INI_ALL collectionis enabled I
15. A range of ports that the communication tunnel can use This defines the maximum value for the range Directive Type sa reas zend debugger expose_remotel integer EE zend debugger passive mode timeout integer PHP_INI_ALL zend debugger xdebug compatible cover boolea PHP_INI_ALL age n zend debugger use fast timestamp SES PHP IN ALL Configuration Directive Details zend_debugger allow_hosts API Reference Description Define which clients know that the Zend Debugger is installed lt br gt 0 Never The presence of the Zend Debugger is not detected by other clients lt br gt 1 Always All clients can detect the Zend Debugger lt br gt 2 Allowed Hosts Only clients listed in zend_debugger allow_hos ts can detect the Zend Debugger lt br gt Any other value makes the Zend Debugger undetectable same as Never The Debugger s timeout period in seconds to wait for a response from the client Zend Studio Directive in order to mock up xdebug coverage Enables fast time sampling which is dependent on CPU cycles and frequency otherwise the directive uses operating system timing which may be less accurate Specifies the hosts that are allowed to connect hostmask list with Zend Debugger when running a remote debug session with Zend Studio Type string Default Value 127 0 0 1 32 10 0 0 0 8 192 168 0 0 16 172 16 0 0 12 Available since version 3 6 185 Zend Server Reference Manual zend_debugger deny
16. API Reference ZendJobQueue SORT_BY_SCRIPT Sort result set of getUobsList by job script name ZendJobQueue SORT_BY_APPLICATION Sort result set of getJobsList by application name ZendJobQueue SORT_BY_NAME Sort result set of getUobsList by job name ZendJobQueue SORT_BY_PRIORITY Sort result set of getUobsList by job priority ZendJobQueue SORT_BY STATUS Sort result set of getJobsList by job status ZendJobQueue SORT_BY_PREDECESSOR Sort result set of getJobsList by job predecessor ZendJobQueue SORT_BY_PERSISTENCE Sort result set of getJobsList by job persistence flag ZendJobQueue SORT_BY_CREATION_TIME Sort result set of getUobsList by job creation time ZendJobQueue SORT_BY_SCHEDULE_TIME Sort result set of getUobsList by job schedule time ZendJobQueue SORT_BY_START_TIME Sort result set of getUobsList by job start time ZendJobQueue SORT_BY_END_ TIME Sort result set of getUobsList by job end time ZendJobQueue SORT_ASC Sort result set of getUobsList in direct order ZendJobQueue SORT_DESC Sort result set of getUobsList in reverse order ZendJobQueue 0K Constant to report completion status from the jobs using setCurrentJobStatus ZendJobQueue FAILED Constant to report completion status from the jobs using setCurrentJobStatus 261 Zend Server Reference Manual Class Methods ZendJobQueue __ construct Creates a ZendJobQueue object connected to a Job Queue daemon Available s
17. Available since version 4 0 zend_optimizerplus blacklist_filename For additional information see Extermal Configuration File above Type string Available since version 4 0 zend_optimizerplus save_comments If disabled all PHPDoc comments are dropped from the code to reduce the size of the optimized code Type boolean Default Value 1 Available since version 4 0 zend_optimizerplus fast_shutdown The fast shutdown sequence doesn t free each allocated block but lets the Zend Engine Memory Manager do the work Type boolean Default Value 0 Available since version 4 0 194 API Reference zend_optimizerplus optimization_level A bitmask where each bit enables or disables the appropriate Optimizer passes Type integer Default Value Oxfffffobf Available since version 4 0 zend_optimizerplus enable_slow_optimizations Enables or disables the optimization passes that may take significant time based on an internal runtime calculation Type boolean Default Value 1 Available since version 4 0 195 Zend Server Reference Manual Zend Optimizer PHP API Table of Contents e Zend Optimizer functions o accelerator reset Resets the contents of the Optimizer shared memory storage lt br gt Note This is not an immediate action The shared memory storage is reset when a request arrives while the shared memory storage is not being used by a script PHP Functions accelerator_reset Resets the
18. Duplicate Functions Fix 81 Optimizer Dlachkltetng 81 Optimizer duplicate functions 81 Optimizer file quantities 0 eeee 81 Optimizer MEMOLY c ceeeeeeeteeeeneeeeees 81 Optimizer resource Allocation 81 optimizing download requests 154 Optimizing Zend Server Performance 278 Order Number 9 58 output Inconsistent neeese 37 ele SIZE vive eee Bienen eee 37 OYI EW coe ee leh ANEN dee e 2 P Page Cache 132 153 OVGIVIOW 2 ececeececeeceeeeeeeeeeeeeaeeeeeeeettees 142 page caching 0 cece ceeceeseeteceeeeeeeeeesenaeees 132 Configouring oe ae 132 d rati erm EE 132 Page CACNING os enrera Enae 153 page caching rules COILING BEE 132 E Lu CN 33 D seword aiiai a aiaia adiaiiis 8 58 Password administration cceeeseeeeee 14 Password and License s es 58 password confiouratlon 67 Password definition ssssseenneee ennenen eeen 8 Password lengthen 9 Password Management 8 Password Windows 8 Ee TEE 9 CONFIQUIING DEE 67 passwords administration cccceeee 9 passwords changing eeeeseeeeeeereseen 8 passwords clearing eeeeeeseeeeseenen 8 passwords defining cccceeeeeseeeeeeees 8 passwords Jost 8 passwords Managing ssseseesssserssseeesns 8 passwords other operating systems 8 passwords reOuiremente 9 passwords resetting eect eeeeeee
19. Event Details Table Events are aggregated into groups based on the time they occurred The aggregation is set to five minutes Thus all the events that occur within that time frame are grouped together Each time a set of events is aggregated i e a new group is created the occurrence details are collected again To view the event occurrence details for a group click on the group in the Event Details table The display on the right will change to display the following options The Event Details Table options are Last Time when the last event in this group occurred Count the number of events triggered in the same time frame set to five minutes B an indicator that trace information was collected for that occurrence Clicking on one of these options updates the display with the relevant information Event Details The Event Details are a collection of information relevant to the event that occurred Clicking on a time in the table on the left Event Details Table will display the information relevant to the selected occurrence es Through this you can find out for example if a different function caused the error or if a different message was thrown The following list presents the possible details that can be displayed for a specific occurrence 16 Zend Server Reference Manual Export generates an XML file containing the selected event s information General Data Displays information about the event The data
20. Monitoring and they generate events that are displayed in the Events page The Monitor component is set to run out of the box based on default settings To change the Monitor component settings see Working with Components To configure a specific event see Edit Rule Monitoring and to view generated events see Events Monitoring is based on a set of predefined rules that can be configured to suit your environment s requirements such as performance thresholds or enabled and disabled as necessary Once Zend Server is installed the monitor component begins to create events To find out more about event configuration methodologies see Working with Monitoring From this page you can Run a filter start typing to filter the display Edit a Rule Click on a rules name to change the rule configurations See if code tracing for events is active This means that Events that are set to trigger the creation of Code Tracing information will collect that information when an event is triggered Additional information about the different code tracing statuses can be found in Monitor See which event actions are set to specific rules This information is displayed in the main table under the Event Actions column Change a Rule s Status Select multiple rules and apply one of the following changes e Enable Rules Apply this to disabled rules to start generating events based on the conditions set in the rule e Disable Rules Apply
21. PHP API The Zend Job Queue Class Zend Code Tracing Configuration Directives Zend Session Clustering Configuration Directives 183 Zend Server Reference Manual Zend Debugger Configuration Directives Configuration Directives Summary Directive zend debugger allow hosts zend debugger deny hosts zend debugger allow tunnel zend debugger max msg size zend_debugger httpd_uid zend_debugger tunnel_min_port zend debugger tunnel max port 184 Modification Type Scope string He P_INI_SYSTE string a P_INI_SYSTE string ee integer S P_INI_SYSTE integer i P_INI_SYSTE integer Sp P_INI_SYSTE PHP_INI_SYSTE integer M Description Specifies the hosts that are allowed to connect hostmask list with Zend Debugger when running a remote debug session with Zend Studio Specifies the hosts that are not allowed to connect hostmask list with the Zend Debugger when running a remote debug session with Zend Studio A list of hosts hostmask list that can use the machine on which Zend Server is installed to create a communication tunnel for remote debgging with Zend Studio This is done to solve firewall connectivity limitations The maximum message size accepted by the Zend Debugger for protocol network messages The user ID of the httpd process that runs the Zend Debugger only for tunneling A range of ports that the communication tunnel can use This defines the minimum value for the range
22. This is called by the phpize script automake a tool for generating GNU Standards compliant Makefiles libtool Generic library support script Libtool hides the complexity of generating special library types such as shared libraries behind a consistent sort of interface GNU make a GNU tool for controlling the generation of executables and other non source files of a program from the program s source files GCC PHP extensions are typically written in C Hence in order for them to compile you would need a C compiler While GCC now stands for GNU compiler Collection and is no longer just a GNU C Compiler for our purposes we only need the C part of the collection GNU s elf binutils package The programs in this package are used to assemble link and manipulate binary and object files 167 Zend Server Reference Manual Install the following packages Users of distributions with package managers mainly Debian Ubuntu RHEL CentOS and Fedora Core and many others should install the following packages from their distribution s repository gcc make autoconf automake and libtool Some of these tools depend on each other for instance the libtool package depends on the gcc package but no damage can be done from specifying all of them Users who utilize distributions that do not have package managers Linux from scratch anyone can compile these tools themselves or obtain pre compiled binaries for them quite easily Additi
23. Zend Server Reference Manual Info Messages Zend Server displays different types of messages that are color coded according to their level of severity The following list describes the four different options and what each color means Error Messages Messages that are Red indicate that some kind of system error has occurred If you receive messages like this follow the instructions in the message This is an error message The recommended actions are Follow the instructions in the message f the message appeared after an action was performed try to redo the last action such as to click Save Add etc Visit the Support Center http Awww zend com en support center Open a Support Ticket Support Reinstall Zend Server Choosing Which Distribution to Install Notices Messages that are Yellow indicate that a non critical error occurred If you receive a message like this it will contain information on how to proceed This type of error includes messages to the user about usability issues P A This is a warning message with a click here link inside Success Messages Messages that are Green indicate the success of an action If you receive a message like this it means that your last action was completed successfully and no additional actions are required such as Restart Server This is an info message 181 Zend Server Reference Manual Info Messages Messages that are Blue indicate that
24. e Zend Java Bridge functions O O java Creates a Java object java last exception get Returns a Java exception object for the last exception that occurred in the script only the last exception is stored by the Java Bridge java last exception clear Clears the last Java exception object record from the Java Bridge storage java set ignore case Sets the case sensitivity for Java calls when there are mixed cases in your PHP script java throw exceptions Controls if exceptions are thrown on Java exception When an exception is thrown by a Java application this function controls if the exception caught by the PHP code will continue to be thrown or not if not it is stored in the Java Bridge s internal memory java sei encoding Sets encoding for strings received by Java from the PHP code to verify that the encoding is the same in the PHP and Java code java require Includes an additional CLASSPATH JAR in a PHP script context java reload Reloads Jar files that were dynamically loaded on demand API Reference PHP Functions java Creates a Java object Available since version 3 6 Description object java string Sclass_name l Parameters class_name Class name to create Additional arguments are treated as constructor parameters Return Value The Java object that was created NULL otherwise java_last_exception_get Returns a Java exception object for the last exception that occurred in the script only
25. statistics In order to work with Code Tracing you first have to have the Code Tracing component installed and activated see the Installation Guide for information on adding components and to see Working with Components for information on the components in your system Setting a Monitor Rule to Run a Code Trace This procedure describes how to define monitor rule settings to in addition to the event related information also collect trace information when the event is generated B To set a monitor rule to save trace data 1 Goto Rule Management Monitoring lt 5 2 Select a rule from the list ES 3 Click Edit to open the rule for editing 4 Scroll down the page to Step 2 Event Action 5 Select the one of the options and click Add The Tracing options are Save Trace Data Generate a trace file each time the event is triggered Activate Trace Data Collection for Generate a trace file for a given time frame each time an event is triggered 6 Scroll to the bottom or the top of the page and click Save to save changes The next time the event is triggered trace information for that specific occurrence will be collected The trace information can be viewed in Monitor Code Tracing or directly from the event see important note below Important Note A single issue can contain aggregated information about more than one instance of an occurrence This information is also grouped according to when the event occurre
26. 1 Always All clients can detect the Zend Debugger lt br gt 2 Allowed Hosts Only clients listed in zend_debugger allow_hosts can detect the Zend Debugger lt br gt Any other value makes the Zend Debugger undetectable same as Never Type integer Default Value 2 Available since version 3 6 zend_debugger passive_mode_timeout The Debugger s timeout period in seconds to wait for a response from the client Zend Studio Type integer Units seconds Default Value 20 Available since version 3 6 zend_debugger xdebug_compatible_coverage Directive in order to mock up xdebug coverage Type boolean Default Value 0 Available since version 4 0 187 Zend Server Reference Manual zend_debugger use_fast_timestamp Enables fast time sampling which is dependent on CPU cycles and frequency otherwise the directive uses operating system timing which may be less accurate Type boolean Default Value 1 Available since version 4 0 188 API Reference Zend Optimizer Configuration Directives Configuration Directives Summary Directive zend_optimizerplus enable zend_optimizerplus use_cwd zend_optimizerplus validate timestamps zend_optimizerplus revalidate freq zend_optimizerplus revalidate_path zend_optimizerplus inherited hack zend_optimizerplus dups fix zend_optimizerplus log verbosity level zend_optimizerplus memory consumption zend_optimizerplus max_ accelerated files Sea Descripti
27. 232 string string string e integer Modification Scope PHP_INI_ALL PHP_INI_LSYSTEM PHP_INI_ALL PHP_INI_SYSTEM PHP_INILSYSTEM PHP_INI_LSYSTEM PHP_INI_ALL PHP_INILSYSTEM PHP_INI_ALL PHP_INI_ALL Description Enables or disables the Monitor component Monitor extension log verbosity level The maximum size of the log file before it is rotated Amount of shared memory to allocate for event collection The maximum size of a shared memory segment Communication transport for event reporting to the Monitor Node PHP Super global variables to include in event reports PHP Super global values that should not be included in Zend Monitor events PHP Super globals to pass through the security black list filter The maximum length of a superglobal to include in an event report Directive Type zend_monitor event request slow _exec disa R boolean bled op function slow exec event zend_monitor event request slow _exec disa bled on high load threshold integer zend_monitor event request_relative slow meger exec min exec time zend_monitor event request relative large integer mem _usage min mem usage zend_monitor event request relative large output size min output size integer zend monitor event zend error silence leve onitor eve integer zend_monitor requests statistics warmup r integer equesis zend monitor requests statistics request lif E integer Modi
28. 30 20 45 var tmp pear build root install newt 1 2 1 usr local zend lib BALA Al been 2 OO LOOL 4096 Mar 30 20 45 var tmp pear build root install newt 1 2 1 usr local zend lib php_extensions STATLIG ZAA Swipe Il eeng eeng LCE Mee s0 20 45 var tmp pear build root install newt 1 2 1 usr local zend lib php_extensions newt so Build process completed successfully Installing usr local zend lib php_extensions newt so install ok channel pear php net newt 1 2 1 The Extension has been successfully compiled using PECL To load the extension in the php ini or in a separate file under the scan dir insert extension lt my_extension_name gt so and replace lt my_extension_name gt with your extension s binary name such as extension newt so 7 If you re using the DEB and RPM versions of Zend Server the best practice is to place a file called newt ini under usr local zend etc conf d 8 Restart your webserver 173 Zend Server Reference Manual Ensure the extension is properly loaded by checking the output of PHP Info This can be viewed in the Zend Server PHP Info page The extension will now appear in your Administration Interface under Server Setup Extensions from which you can also load and unload the extension for more information see Working with Extensions Scenario 2 Compile a PHP extension included in the main PHP source called PSpell Pspell Portable Spell Checker Interface Library provides a ge
29. 4 0 zend_monitor events_transport_parameter Defines the network communication transport to be used when sending event reports from the Monitor Extension to the Monitor Node Type string Default Values e Unix like Systems events sock e Windows events Available since version 4 0 236 API Reference zend_monitor report_super_globals Which PHP Super global variables should be included event reports You can remove Super globals from this if they do not contain helpful debugging information in order to reduce event reporting overhead You may also add additional Super globals if the data they contain is relevant for debugging Each Super global is represented by a different character from the following list e G GET included by default e P POST included by default e C COOKIE included by default e R RAW_POST_DATA included by default e V SERVER included by default e F FILES included by default e S SESSION e E ENV Type string Default Value PRGCVF Available since version 3 6 zend_monitor security_black_list Defines a list of PHP Super global values that will not be collected for Zend Monitor events Each Super globa from the variables defined in zend_monitor super_globals_to_secure value who s key is listed here will not be saved in event reports and the string lt BLOCKED_VALUE gt will appear instead of the actual value The list of keys to remove can be defined in two ways 1 A
30. Best Practices 3 Replace DOCUMENT_ROOT with the full path to the public directory enclosed in double quotes DOCUMENT_ROOT Replace the port number with a unique port number dedicated to this Virtual Host The port number 10089 has to be the same value for Listen and VirtualHost 4 Zend Framework s MVC implementation makes use of the Front Controller pattern You must therefore rewrite all incoming requests except those for static resources which your application need not handle to a single script that will initialize the FrontController and route the request If you re using mod_rewrite for the Apache web server create the file lt Project_Name gt public htaccess with the following contents public htaccess RewriteCond RewriteCond RewriteCond RewriteRule RewriteRule RewriteEngine On REQU EST _FILENAM E REQU EST_FILENAM E REQU DSi IL ENAME 1 De SS NC L t LOR ll OR acl Aes mees ono LINC la Some web servers may ignore htaccess files unless otherwise configured Make sure that your web server is configured to read the htaccess file in your public directory 5 Restart your Web server from the command line windows user can use the Apache Monitor tool Your Zend Framework projects will now be accessible from a browser through http localhost 10089 the port number 10089 should
31. Caching and click Clear next to the rule you want to edit 137 Zend Server Reference Manual Creating a Copy of a Rule The following procedure describes how to create a new rule based on an already existing rule This option can be used when a new rule with settings similar to an existing rule needs to be created such as for different URLs with the same caching requirements J To copy a Cache rule 1 2 3 4 5 Go to Rule Management Caching Double click on the rule name on which you want to base the new rule Change the settings Click Save As A new Dialog will open prompting you to enter a new name for the rule Enter a name and click Save A new rule will be added to Rule Management Caching 138 Zend Server Reference Manual Working with phpMyAdmin to Manage MySQL phpMyAdmin is a tool written in PHP which is intended to handle the administration of MySQL over the Web Currently it can create and drop databases create drop alter tables delete edit add fields execute any SQL statement manage keys on fields manage privileges export data into various formats and is available in 55 languages The Zend Server Installer includes this component as part of the installation process in Windows and Zend Server Community Edition Download the Linux version from http www phpmyadmin net They are available as RPM and DEB packages from your distribution s repository See the Installation Guide for addition
32. Deletes the scheduling rule identified by the given rule_id and scheduled jobs created by this rule ZendJobQueue suspendSchedulingRule Suspends the scheduling rule identified by given rule_id and deletes scheduled jobs created by this rule ZendJobQueue resumeSchedulingRule Resumes the scheduling rule identified by given rule_id and creates a corresponding scheduled job ZendJobQueue updateSchedulingRule Updates and reschedules the existing scheduling rule ZendJobQueue getCurrentJobParams Decodes an array of input variables passed to the HTTP job ZendJobQueue setCurrentJobStatus Reports job completion status OK or FAILED back to the daemon 257 Zend Server Reference Manual The ZendJobQueue Class The ZendJobQueue is a PHP class that implements a connection to the Job Queue Daemon Class Prototype class ZendJobQueue Constants const int TYPE _HTTP const int TYPE HTTP RELATIVE const int TYPE SHELL const int PRIORITY LOW const int PRIORITY NORMAL const int PRIORITY HIGH const int PRIORITY URGENT const int STATUS const int STATUS const int STATUS const int STATUS PENDING WAITING PREDECESSOR RUNNING COMPLETED const int STATUS const int STATUS const int STATUS const int STATUS const int STATUS const int STATUS const int STATUS const int SORT FAILED OK LOGICALLY FAILED TIMEOUT REMOVED SCHEDULED SUSPENDED SORT NONE const int SORT BY const int SORT c
33. Description void java_set_encoding string Sencoding UTF 8 Parameters encoding Default encoding type is UTF 8 The default value is UTF 8 java_require Includes an additional CLASSPATH JAR in a PHP script context Available since version 3 6 Description void java_require string path Parameters path URL pointing to the location of the Jar file This function accepts the following protocols lt br gt https http file ftp lt br gt It can also be a local path E g cA java_reload Reloads Jar files that were dynamically loaded on demand Available since version 3 6 Description void java_reload string Snew_jarpath Parameters new_jarpath The path to the Jar files 219 Zend Server Reference Manual The Java Exception Class JavaException is a PHP class that inherits from the default PHP5 class Exception Available since 3 6 Class Prototype class JavaException Methods public object getCause void Class Methods JavaException getCause Get the Java exception that led to this exception Available since version 3 6 Description public object JavaException getCause void Return Value A Java exception object if there was an exception NULL otherwise 220 API Reference Zend Download Server Configuration Directives Configuration Directives Summary Modification Directive Type Scope Description Enables or disables the Zend Download Serv
34. Details to expand the filter dialog Add conditions to the filter by clicking on the plus sign next to a condition in the Add Conditions area Modify the conditions according to each specific condition s filter options Click Save Filter As and in the dialog enter a name for the filter and click save The filter will be added as a User Defined option in the Filter list and can be applied be selecting it whenever necessary You can also use an existing filter to create another filter by opening it and using Save Filter As To apply a filter Select a filter from the filter list to automatically display the results 126 Zend Server Reference Manual To delete a filter 1 Select the filter from the list it has to be a User Defined filter default filters cannot be deleted 2 Click Show Filter Details and _O amp et Saved Filler to permanently remove the filter 127 Zend Server Reference Manual Working with Caching This procedure describes the different caching capabilities available to you when using Zend Server Caching is the process of storing data or pre rendered web output that can dramatically reduce the time to present results to the users The available caching capabilities are Data Cache API Zend Framework Cache API External Link Page Cache API versus Interface The first step in choosing a suitable caching option is to discern who should be setting up the
35. HTTP headers etc e Show File in Zend Studio Opens the file where the event occurred in Zend Studio This option makes it possible to use Zend Studio to edit files and implement changes for multiple servers Settings through this option you can choose to apply the Studio Integration actions to the Originating Server the server on which the event was triggered or to an Alternate Server a different server running the same environment Additional configuration settings are set in Server Setup Monitor Zend Server Reference Manual Jobs The Jobs page is accessed from Monitor Jobs The Jobs page is the main display for Job Queue jobs that are scheduled in your environment The jobs listed in this page are created as follows Based on conditions defined in the Recurring Jobs tab Non Recurring Jobs one time jobs that have been manually triggered using the Job Queue API Jobs generated by the Job Queue API jobs created inside your code to off load resource intensive processes to another time You can use the Jobs page to perform additional actions to follow up on Job activity The actions that can be performed from this page are Filter View Job Details and Delete Jobs For more information see Managing Jobs New jobs are created in Rule Management Recurring Jobs Each individual Job includes specific information about the occurrence such as the URL Application Status Priority and Run Time all details that he
36. If you are comparing how different Zend Server components affect performance make sure you run the tests at approximately the same time to avoid large fluctuations in traffic volume and ensure that the traffic conditions are similar for each test 4 Click Go to start running the test Clicking Abort terminates the test without collecting test information 94 Zend Server Reference Manual The results are displayed in a bar chart The Benchmark tool displays up to five test results If there are more than five results the tool displays the five most recent results Understanding Results Once you have the results the most important consideration is to determine what constitutes a good value Duration sec wwzenasomen RG pe 03 04 12 pm 03 04 22 pm 03 06 29 pm When testing the effect Zend Server components have on performance the more requests per second the faster the code Another consideration is the size of the page Large pages take longer to load and should be checked during both high and low traffic to determine if the page is performing well 95 Zend Server Reference Manual Working with Updates To access this tab go to Administration Updates This procedure describes how to view and update Zend Server using the Updates page The updates page contains dynamic content regarding the status of the components installed on your machine their version and if there is a newer version available To update
37. Look for zend_optimizerplus validate_timestamps and set the value to Off This speeds up the server but also requires that you restart the server D if you deploy new versions of existing files When to change If your PHP code is rarely updated changed or if you are capable of manually restarting your PHP on every code update When not to change If you are in development and you are frequently changing code or if you do not have control over the code update process Decreasing Code Validation Frequency In the Administration Interface to view the specific directives for Optimizer go to Server Setup Components and click the Directives link next to the Optimizer Look for zend_optimizerplus revalidate_freq and set the value to 30 seconds Zend Server is now set to check PHP file changes every 30 seconds When to change If you do not change PHP files often and some delay between file update and site update is acceptable you may set it even higher When not to change If you have frequently changing files and you need the changes to take effect immediately 295 Zend Server Reference Manual Configuring PHP for Performance You may be able to add an additional performance boost to your PHP applications by properly configuring your PHP runtime environment settings You can edit the directives below from the Administration Interface via Server Setup Directives Changing some of these settings may cause certain PHP appli
38. MBytes Default Value 5 Available since version 4 0 245 Zend Server Reference Manual zend_monitor queue_flush_interval Number of event reports to cache before flusing them into the database Type integer Default Value 1 Available since version 5 0 zend_monitor gui_default_emails A semicolon separated list of email addresses which serves as the default list for events Type string Available since version 4 0 zend_monitor persistent_smtp Use a persistent connection to the SMTP server Type boolean Default Value 0 Available since version 4 0 246 API Reference Zend Monitor PHP API Table of Contents e Predefined Global Constants e Zend Monitor functions zend monitor pass error Passes an error to the Monitor component with file and line details This function is used in error handlers An alternative is to use trigger_error However this function does not indicate the file name and line number It only passes the error message zend monitor custom event Creates a special custom event that is generated from your code The information collected consists of the three following parameters Class Text and User Data zend monitor set aggregation hint Incorporates the locations of occurrences in the script when there are events that require those location for diagnosing the reason an event occured Only events of the same type are aggregated The collected information is viewed in the Zend Serve
39. Page Cache PHP AP 230 Table of Contents iiien inata ai i einen bananas e aa Tas 230 PHP Tiet el 230 Zend Monitor Configuration Directives ccccceesceceeeeeeeeeeeeeeeceeeeeceaeeeeeaaeseeneeseaeeesaeeeeaeeeeaes 232 Configuration Directives Gummanm tenses ceeeeeeaaeeseeeeeaaeeeeaaeseeeeesnaeeseaaeeseneeee 232 Configuration Directive Details ccccceeceeceeeeeeeneeeeeeee eae eeeeeeeseeeecaaesesaaeseeeeeseaeeesaeeneneeee 235 Zend Monitor Node Daemon Configuration Directives cccceceeeeeeseeeeeneeeeeeeeseaeeeteeeeeaes 242 Configuration Directives Gummanm 242 Configuration Directive Details cccccceecceeeeeeeeneeceeeee cae eeseeeeseeeeseaeeesaaeseeeeeseaeeesaeeseaeeee 243 Zend Monitor PRP NEE 247 BREET EE 247 Predefined Global Constant cccccceceeeeeeeeeeeeeeceeeeecaeeeeaaeeseeeeeseaeeeeaaeseeeeeseeeesaeeseaeeseaes 248 PPPS Get 250 Zend Monitor UI extension PHP AP 252 Table of TEE 252 PHP veel 252 Zend Job Queue Configuration Directives cccccceecceceeeeeeseeeeeeeeceeeeseaeeeseneeseeeeseaeeeeeeesaes 253 Configuration Directives Gummanm 253 Configuration Directive Details ccccceeseeeeeeeeeeneeeeeeee cae eeseeee ceases saaeeeeaaeseeeeesnaeeeeaeeneneeee 254 Zend Job Queue PHP AP 256 RER RTE 256 The ZendJObQueue E 258 Zend Job Queue Daemon Configuration Directives ccceeecceceeeeeeeeeeeeeeeseeeeeseaeeeeneeeeaes 273 Configuration Directi
40. Reference Manual Windows B To Change the Log directory in Windows 1 Create the new logs directory 2 Open lt install_path gt etc php ini and change the value of zend log_dir to the new log directory 3 To apply changes manually restart your Web server Apache or IIS Now the log files for the Zend Page Cache and Zend Monitor components will be written to the new location This means that some log files such as Apache and PHP will still be written to the default directory lt install_path gt logs The new directory must have the same permissions as the original logs directory 358 Index A Absolute settings cccceceeeeseeeeeneeeeee 37 ele 78 Adding Extensions eeee 161 Adding Extensions for Windows 161 Adding New Componente 78 Administration Interface setting pasSswordS 2 eee cette teeter eeeees 67 ale eedegeetereksegeiesueeee eg gedreet 14 verifying Installatton 67 VIGWING es 67 Administration Tab 14 After installing Zend Server n 67 AQQLPe ation soroa 152 Alerts SOU Gx eege E EELER dee 55 allowed hoss 290 security Settings eeeceeeeeeeeeeeeeeeeees 290 allowed boste et 290 Configouring 290 default values ssseeeeeseesee nesens nes 290 development environment 05 290 production emvironment 290 Allowed Zend Studio Clients for Debugging Eege Sege 89 Apache processes n s 154 Apache processes optimizing 154 Apache
41. Server Setup Components If you do not require the Zend Guard component for optimal performance either do not install it or set this component to Off 81 Zend Server Reference Manual Working with Java Bridge The Java Bridge is only active when the Java Bridge component is installed and activated see the Installation Guide The component s status and settings can be viewed and configured in the Administration Interface from Server Setup Components The Java Bridge requires that you have Sun Microsystems JRE 1 4 or later or IBM Java 1 4 2 or later installed on your computer During or after installing depending on the installation type you are prompted to direct the installer to the JRE location Therefore you should already have JRE installed 64 bit JRE is not supported More information about JREs and the latest updates can be obtained from the SUN Microsystems Website Configuration This procedure describes how to configure the target Java runtime environment Configuring the runtime environment Use the following command to run JavaMW java com zend javamw JavaServer For correct execution the classpath should include the javamw jar file in the directory where JavaMW is installed Example IN IES EC Windows lt install_dir gt bin javamw jar 82 Zend Server Reference Manual Testing the Bridge Connection The following code sample shows how you can as an initial step test the con
42. Updates tab Download and install an update package depending on your operating system Working with Monitoring How to configure monitoring rules Setup your Monitor component for development or production environments Editing Monitoring Rules How to find and customize rule settings You will have a set of rules in place to monitor the activity of your PHP applications Working with Events How to find and manage events Find events view event details and change event statuses Working with Event Details What to do with the Event Details report Understand the information provided and diagnose events using Zend Studio for Eclipse 61 Zend Server Reference Manual Task Description Outcome Working with Code Tracing How to locate trace information for events and analyze Define which events should collect trace information and how to trigger a trace The ability to perform root cause analysis on information collected about PHP performance Creating a Job How to create a job to run a script You will have a set of jobs running in your environment to perform tasks that require scheduling or triggering from inside your code Managing Jobs How to use Jobs to help manage your environment Know how to implement Jobs for off loading processes Working with Caching How to choose the right caching option
43. Wildcards to specify a range of IPs 3 From the drop down list select an option according to the type of IP address you entered Click Exact IP address only for a single IP or one of the other options to represent a range of hosts 4 Click 1 Add to add the host 5 The changes are applied after you restart the Server The IP or range of IPs is denied permission to connect to the server to debug PHP code with Zend Studio To remove a specific IP from the list click Remove Do not add the same IP address to both the Allowed and Denied host lists Pay attention when you specify a range of IP addresses If you deny a range of addresses that includes an IP that was specified in the Allowed hosts the host is not allowed to create a debug session 86 Zend Server Reference Manual Wildcards Net Mask Wildcards use the asterisk to define a string of IP addresses and to specify a range of IPs that are either allowed or denied hosts This option makes it possible to specify a range of IPs from 0 255 according to the selected number of wildcards For example if you use the Net Mask option to deny the IPs 10 1 3 all the IP addresses beginning with 10 1 3 are denied access to the Studio Server i e integration with Studio is not permitted for these IP addresses Remote Debugging Through a Firewall Remote debugging is the process of creating a connection between two machines For example the machine on which the Debugge
44. Zend Server LJ 1 Goto Administration Updates If your system is out of date click on the link inside the info message You will be directed to the Zend Server updates page Click on one of the links in the page to begin the download process Download the update package Par won Install the update package on top of the previous installation this is possible with a previous update package 7 Check that the new files are up to date The info message will change to Your system is up to date Click here for more information on Zend Server updates For future reference check this page for updates periodically so see if the message changes to an out of date message 96 Zend Server Reference Manual Working with Monitoring To access the Monitoring page go to Rule Management Monitoring This page is the central management area for defining the conditions by which events are generated as displayed in Monitor Events Monitoring and management capabilities let you quickly detect analyze and fix errors reducing time to resolution and avoiding costly downtime Creating Events Event generation is an out of the box feature On installation the Monitor component begins to collect and report information about events according to the Monitor s default settings The resulting events are displayed in Monitor Events To further enhance monitoring effectiveness event thresholds can be customized In a similar manner thresholds
45. accessed from Rule Management Recurring Jobs by clicking __New Recurring Job or by clicking on a specific rule to open the rule for editing Cancel Create New Scheduling Rule URL Name Schedule Execute Job Every x hours minutes For more information and rule examples see Creating a Job Rule Information Create New Scheduling Rule Details URL the location of the job file you want to run Name a descriptive name for the job Schedule Job Details Use the options to define when the job should re occur based on an hourly daily weekly or monthly basis Selecting an option will change the different parameters to allow you to define when the job will run For example choosing weekly scheduling will display options to set the job to run on a specific day of the week After completion of a job it doesn t matter if it was succeeded or failed the Job Queue re schedules its next execution with the same values 43 Zend Server Reference Manual Setup Tab Components The Components page is accessed from Server Setup Components The Components page provides a convenient way to view and configure the components installed in your environment From this page when applicable you can for each rule Turn On Off See table below for component specific information Clear Empties cache information Configure Directives Clicking this link directs you to a pre filtered view of the directives
46. aims to be the premier place to consume and publish web services High quality object oriented PHP 5 class library attention to best practices like design patterns unit testing and loose coupling Friendly amp Simple Licensing Safe for the Enterprise Based on the simple and safe new BSD license with Zend Framework s License you can rest assured that your code is compliant unimpeachable and protected as you see fit We also require all contributors to the open source Zend Framework to complete and sign a Contributor License Agreement CLA which is based on the standard open source Apache license to protect your intellectual property that is your added value built on Zend Framework Fully Tested Extend Safely and Easily Tested Thoroughly Enterprise ready and built with agile methods Zend Framework has been unit tested from the start with stringent code coverage requirements to ensure that all code contributed has not only been thoroughly unit tested but also remains stable and easy for you to extend re test with your extensions and further maintain 152 Zend Server Reference Manual Zend Controller The Zend Controller runs parallel to the Administration Interface to provide easy access to useful developer tools and information The Zend Controller is a small utility that you can use to remotely access the Administration Interface for tasks such as turning components on and off The Zend Controller also pr
47. and E Le EC 54 le EE 56 Zend Controller isiad a aa lire Aes Wi neta dn deed E a EAN 58 Adding the Zend Controller to the Start Menu System Tray Taskbar 0 cccccesteeeeseeeees 58 TASKS EE 60 Working with Zend Genver A 60 Getting Started with Zend Server ccccceecceceeeeeeeeeeeeeeeceeeeeeaeeeeeeeeseeeeesaaeseeaaeseeeeesaeeesaeeeeneeee 63 What to do After Installing Zend Server cccccceceeeeceeeeeeeeeeeeaeeeeeeeeeeeaeeeeeeeseeeeesaeeeeaeeseneeees 63 Gutts il ue Enn RE 67 Working with GE EE 69 Working With LOGS EE 71 Working with Bee Lull 74 Working with Klee VE 77 Working with Optimi Zet tesi ananira nee anena torea aa aaa ana Aa aa oaaae La AERA AA Taela PaSA Rapea 78 Working with Zend Guard Loader cccceceeeeeeeeeceeeee cee eeeeaeeeeeeeeseaeeesaaeseeaeeseeeeeseaeeeeaeeseneeees 81 Working with Java DBrdoe AAA 82 Working with Local Debugoimg eunn an ieurs kuyani bek raan ikin nan ikari 85 Working with Firewall Tunneling eee eeeeaeeeceeeeseaeeeeeaeseeaeeseeeeeseaeeeeaeeneeeeee 88 Working with Zend Download Gener 91 Working with Zend Controller ccccceceececeeeeeeeeeeeeeee cee eecaaeeeeeeeeceaeeeseaesseaeeseeeeeseaeeesaesneneeees 93 Working with Die TEE 96 Working with MOnitoring AA 97 Editing Monitoring RUICS A 99 Working with IC 102 Table of Contents Working with Event Details 105 Working with Code Tracing sssssesessesirssresirssrrssrissrisstisstnnssinsstnsstnnstnntnnnnnnnntnnn
48. and port of the Zend Server GUI Maximum size of the Events Queue in MB Number of event reports to cache before flusing them into the database A semicolon separated list of email addresses which serves as the default list for events Use a persistent connection to the SMTP server API Reference Configuration Directive Details zend_monitor global_directives_ini_file The ini file that contains the global directives as defined in ZendGlobalDirectiveDD xml Type string Default Value GLOBAL_DIRECTIVES_INI_FILE Available since version 4 0 zend_monitor node_id The Node Id Type string Default Value 1 Available since version 4 0 zend_monitor log_verbosity The Log s verbosity level Type integer Default Value 2 Available since version 4 0 zend_monitor log_rotation_size The maximum size of the log file before it is rotated Type integer Units MBytes Default Value 10 Available since version 4 0 zend_monitor database type The type of the database to be used Choose from the following values SQLIE MYSQL DB2 Type string Default Value SQLITE Available since version 4 0 243 Zend Server Reference Manual zend_monitor database name The name of the Database SQLITE file name MYSQL schema name Type string Default Value monitor Available since version 4 0 zend_monitor database host_name The host name of the Database machine SQLITE N A MYSQL machine name ip Type string Available
49. are kept and will be restored along with the functionality when a new license is entered Further information about your license s can be found in your zend com account 55 Zend Server Reference Manual Updates The Updates page is accessed from Administration Updates The Updates page is the central display area for the Zend Server s update mechanism Here you will find a list of all the available update packages from Zend s Web site A Updates are available for your system Click here for more information Importance Component Installed Version Available Version Description o gd PHP extension 5 2 8 b17 5 2 8 b18 Demo update t bemath PHP extension 2 8 b17 2 8 b19 Derno update 4 gettext PHP extension 2 8 b15 Demo update Apache PHP5 Module 5 2 8 b75 bz2 PHP extension 5 2 5 b16 calendar PHP extension 5 2 8 b17 ctype PHP extension 5 2 8 b17 curl PHP extension 5 2 8 b17 exif PHP extension 5 2 8 b15 ftp PHP extension 2 8 b15 icony PHP extension 2 8 b14 imap PHP extension 2 8 b15 5 2 8 b15 intl PHP extension 5 2 8 b3 5 2 8 b3 json PHP extension 2 8 b17 5 2 8 b17 This page provides information on the type version and severity of the update for each component The actual updates are downloaded directly from zend com s updates page http www zend com en products server updates zsp updates Zend Server checks for updates each time you log in to Zend Server or every 72 hours provide
50. are divided into groups according to when they occurred A new group is created only if there is no activity for at least five minutes If a new event occurs after five minutes pass a new group is added to the issue The new group includes all the events that occurred as long as five minutes without activity has passed Changing Statuses This section describes what happens to issues when they are created and what happens when a new event must be added to an issue after the issue s status has changed New events are created with the New status f an event is closed and a new issue occurs the event is changed to the Reopened status If an event is ignored and a new issue occurs the event does not change its status However the system continues to collect information for the event 154 Zend Server Reference Manual Zend Page Cache The Zend Page Cache component is used to cache the entire output of PHP scripts without changing the PHP code The Zend Page Cache improves PHP application performance by caching the entire output of PHP scripts HTML XML etc while still maintaining dynamic capabilities through an elaborate rules system Rules are configured in the Administration Interface Page caching extends the concept of caching files and applies it to pages Caching by page facilitates the ability to eliminate situations where the same file is used in multiple instances such as when the same file is used to redirect
51. as a contrast tuning is very important because of two reasons 1 High traffic systems tend to generate hundreds and thousands of events per day if not properly tuned even with aggregation this tends to be more than what a development team can handle 2 The more events you have and the broader your thresholds are for example the more functions you watch for Slow Function Execution events the bigger the performance impact on your system is going to be While under normal circumstances this impact is usually negligible under high stress circumstances it could have an effect Given this the best practice for tuning Zend Monitor thresholds is to start from relatively high thresholds and lower them over time as old issues are fixed and the capacity for handling fine grained errors grows This is mostly true in production environments 294 Zend Server Best Practices Fine Tuning Optimizer The performance improvement gained by letting the Optimizer run out of the box can be further enhanced with fine tuning These are advanced settings that need to be evaluated based on your environments usage specifications and performance requirements These are only recommendations in most cases such fine tuning should not be necessary Disabling Code Change Auto Detection In the Administration Interface to view the specific directives for Optimizer go to Server Setup Components and click on the Directives link next to the Optimizer
52. be replaced with the unique port you dedicated to this virtual host Where is My Apache Configuration File Apache uses a main configuration file for all its settings typically this file is called httpd conf or apache2 conf The location of this file varies depending on your installation Windows lt install_dir gt Apache2 2 conf httpd conf If you changed the location of your Zend Server installation your document root will be located at lt installation_directory gt Apache2 2 conf nttod conf where lt installation_directory gt is the location of the directory in which Zend Server is installed 313 Zend Server Reference Manual Linux If you installed Zend Server from a repository DEB or RPM packages the location of your configuration file is defined by your distribution s Apache packages and will vary depending on your distribution and configuration Common locations include e Debian Ubuntu etc apache2 apache2 conf e Fedora Core RHEL CentOS etc httpd httpd conf If you installed Zend Server using the generic Tarball package usr local zend apache2 conf httpd conf If you changed the location of your Zend Server installation your document root will be located at lt installation_directory gt apache2 conf httpd conf where lt installation_directory gt is the location of the directory in which Zend Server is installed 314 Profiling Zend Server Best Practices Profiling code with Zend
53. boolean PHP NI ALL java lang Long integers primarily for 64 bit machines Sets the encoding type that is passed from PHP to Java Uses basic Java objects and does zend _ jbridge use java objects boolean PHP_INI_ALL not attempt to convert them to primitives zend_jbridge encoding string PHP IN ALL Configuration Directive Details zend_jbridge server_port Default is 10001 Must be the same as the server s zend javamw port Type integer Default Value 10001 Available since version 4 0 zend_jbridge ints_are_longs Translates PHP integer values to java lang Long integers 64 bit instead of java lang Integer integers 32 bit The default setting is off Type boolean Default Value 0 Available since version 4 0 zend_jbridge encoding Sets the encoding type that is passed from PHP to Java Type string Default Value UTF 8 Available since version 4 0 214 API Reference zend_jbridge use_java_objects When set to 0 preserves the current implementation which converts basic Java objects to primitives e g java long Short to short lt br gt When set to 1 for the Java Bridge returns Java objects and does not convert them to primitives Type boolean Default Value 0 Available since version 4 0 215 Zend Server Reference Manual Zend Java Bridge PHP API Table of Contents 216 e JavaException The JavaException class O JavaException getCause Get the Java exception that led to this exception
54. caching The decision what caching option to use is also based on the type of content you are interested in caching Any long running operations such as query results can be cached using an API as long as the information is relatively static i e does not frequently change For example if you are using a web service to collect weather information you can use the API to cache the information and refresh every few hours and gain a performance boost without compromising the accuracy of your information When planning to develop a PHP application long processes should be pinpointed in advance in order to implement caching in an early stage On the other hand if you have entire web pages that include static content such as home pages online stores and catalogs you can cache the entire page using the Page Cache When you have pages that include a mixture of static information and personalized information you can in essence cache per user but that should be done carefully as it may cancel out the caching performance gain The last point in deciding is ease of use Using the Data Cache and the Zend Framework Cache API requires programming skills to insert the API in the code and a deep knowledge of how the PHP application works Page Caching also requires a deep understanding of how the PHP application works but does not require any programming skills and the entire caching process can be done from the Zend Server Administration Interface Rule Mana
55. can be gradually modified to not only reflect improvements in performance but also to verify that problematic issues have been resolved Configuring Events Events can be configured according to each environment s specific requirements The main configuration changes that should be performed relate to tuning rule values and defining a list of functions and PHP errors to monitor The following procedure describes how to configure event rules E To configure event rules 1 Goto Rule Management Monitoring 2 Select a rule from the list Hovering over the information icon i displays a description of the selected event and the events parameters 3 Click Edit to change the default settings according to your requirements Each event type has different configuration options suited to the nature of the event 4 Scroll to the bottom of the page and click Save to save changes The new settings are applied after you click Restart PHP To return to the main Monitoring page click Cancel Save or use your browser s Back button See Edit Rule Monitoring for more information about rule settings 97 Zend Server Reference Manual Disabling Event Rules In some cases there may be events that are either not applicable to your system or unnecessary Events are disabled from the Monitor page When an event is disabled the event is not monitored and information is not stored for the event H To disable event rules LJ 1 Go to Rule Manageme
56. changed RS 2 Run the script from your docroot if the script suceeded to run you will see the following message in your browser If you see this text the script completed and the defaults were changed If the test failed you will not see a message in your browser In that case try restarting your webserver and running the script again 341 Zend Server Reference Manual Troubleshoot Welcome to the Zend Server Troubleshoot section The following content is a collection of knowledge and information based on the experience of Zend s Development and Support teams and the PHP community In the Troubleshoot section you will find solutions to known issues possible problems and an error message reference If you encounter any of these issues while working with Zend Server this information can help you resolve the matter quickly to enable you to return to your normal workflow Cant find what you are looking for We want to know Send a mail to documentation zend com asking about an error message or a usability issue and we will make a troubleshoot item and add it here This document includes information on the following issues All operating systems Zend Server Exception Caught When the port settings are not configured as expected License Not Working Your new license does not activate the features Zend Controller Cannot Login Zend Controller does not start as expected Zend Controller Cannot Run Benchmark The
57. changes according to the event type Function Data Displays information on the function that triggered the error including the function name and arguments Request Displays information about the request The superglobals POST GET and COOKIE are always displayed The other parameters RAWPOST and FILE are displayed only when there is relevant information to display Server Displays the superglobals SERVER and ENV when there is relevant information Session Displays the superglobal SESSION when there is relevant information Backtrace Displays all the function calls that were made before the event was triggered including the relevant files for each function Error Data Displays the PHP error and the Java backtrace if there was a Java exception Custom Variables Displays information for a custom event Le class and user defined information that was passed to the event when it was triggered Job Queue Job Queue related events display the reason the Job generated an event Code Tracing Code Tracing related events display the reason that Code Tracing g4eenrated and event Zend Studio diagnostics Displays the actions can be applied to event details if Zend Studio for Eclipse ZSE is installed and Zend Server is configured to communicate with it e Debug Event Initiates a debug session for the event URL in ZSE e Profile Event Profiles the event URL using the ZSE Profiler with the same parameters GET POST COOKIE
58. console enables you to view the execution history of your application and follow in the footsteps of an individual problematic request to quickly pinpoint root cause Furthermore the Export option allows you to transfer this information into Zend Server allowing you to transfer the information to developers Zend Server Code Tracing is an in depth diagnostic tool that will allow you to drill down to the function level to view actual performance related information and statistics Trace information can be collected in one of two ways 1 Collected as an additional level of event information by Monitor Rules mechanism to generate a trace when an event occurs Traced information can contain information on more than one event that occurred according to the reoccurrences of the event 2 Manually Triggered 22 Zend Server Reference Manual From this page you can Trigger a URL trace Manually run code tracing on a specific URL View trace information Delete trace information Export Trace Information 23 Zend Server Reference Manual Code Tracing Tree The Code Tracing Tree is accessed from Monitor Tracing and selecting a trace ID from the list The Tree tab displays the call tree for a selected event or trace file Tracing ID 0 23016 68 02 Sep 2010 14 22 Traced URL pullocalhosttestissues php URL After Rewrites http localhosttestissues php Tracing Tree Statistics per Function V Show memory usage Next chi
59. deploy code that runs on Zend Server This document includes information on Deploying Code with Zend Server This section presents suggestions on how to best deploy your PHP code to run with Zend Server for production and development environments 333 Zend Server Reference Manual Deploying Code with Zend Server This procedure describes how to deploy your PHP code to run with Zend Server Zend Server provides all the components for creating an environment suitable for developing and deploying PHP applications In order for a PHP Application to run you need a Web server Apache is bundled by default with Zend Server and is used to run your PHP code This option may vary depending on your operating system for instance MS Windows also supports an existing IIS installation so you can choose either Apache or IIS and in Mac Zend Server uses the distribution s Apache The process of writing PHP applications is separated into two distinct sections Development and Production Development includes developing and debugging your code In most cases this is done on a developer s machine or on a remote server with limited or password protected access Production is when the Web application has reached a level of maturity that allows it to be exposed to its target audience The only tasks that should be done are debugging remote and uploading changes It is against best practices to make changes to code running on a Production ser
60. entire etc apache2 conft d directory and rename it to apache_conf d lt install_path gt share bugreport commands Defines which commands to run and include in the output Once a report is generated you will see the following output Sample Output lt install_path gt bin bugreport sh The information was collected successfully Use free text to describe the issue in your own words To submit the information press CONTROL D Archive created at tmp zend_server_report_bug_123008052721 tar gz Windows The Support Tool software may be found in lt install_path gt bin SupportTool exe 1 Open the Support Tool from Start menu Zend Server Support Tool Select a directory to generate the archive file to Desktop is default Click Create A Zip file is created on the desktop of the current user The file is created with a time stamp including date and time 345 Zend Server Reference Manual Supported Browsers For optimal stability and performance only run Zend Server on a supported browser from the Supported Browser List Supported Browser List The following table lists the browsers that run Zend Server Browser Supported Operating Systems Internet Explorer 7 0 Windows XP and Windows Vista Linux Windows XP Windows Vista OS X Firefox 2 x 10 4 and OS X 10 5 Linux Windows XP Windows Vista OS X Firefox 3 x 10 4 and OS X 10 5 Safari 2 x OS X 10 4 Safari 3 x OS X 10 4 and OS X 10 5 Zend Server may run
61. extensions and components loaded in your PHP If you cannot find a directive in the directives page look in Server Setup Extensions or Server Setup Components to check that the extension or component is turned on See Adding Extensions for instructions on how to manually add an extension In Server Setup Components define the Zend Server components that should be turned on or turned off If you are planning to use functions related to Zend Server components in your code such as the Optimizer Data Cache Debugger Guard Loader or Java Bridge verify that the extensions are turned on If your Zend Server component has additional directives used for configuring the component s behavior a configure link is included in the Directives column Clicking this link leads you to the relevant directive in the Directives page In Server Setup Debugger define which hosts are allowed to connect to the server to use the Zend Debugger for debugging and which hosts are not allowed In Rule Management Monitoring define the rules to generate evenis in Monitor Events Additional Monitor settings to define behavior such as integration with Zend Studio for Eclipse and Mail settings for forwarding event information outside Zend Server can be found in Server Setup Monitor In Rule Management Caching define the rules to cache output based on a URL 67 Zend Server Reference Manual Restart PHP Message The Restart PHP message appe
62. for your needs You will be able to choose the right caching options Working with Data Cache How to use the Data Cache API Implement the Data Cache API functions into your PHP code Working with Caching Page How to configure page caching rules Define page caching rules for URLs Working with phpMyAdmin to Manage MySQL How to configure PHPMyAdmin to work with a MySQL database Manage your MySQL from PHPMyAdmin through a link in the Administration Interface 62 Zend Server Reference Manual Getting Started with Zend Server Zend Server is a tool that requires a minimal amount of actual interaction with the Administration Interface Once your environment is setup apart from occasionally logging in to view your system settings or your php ini there are not many day to day activities that require the Administration Interface The first point of reference for working with Zend Server is what to do after installation What to do After Installing Zend Server The following section describes the tasks that should be performed after installing Zend Server for the first time These tasks cover all the different installation types DEB RPM Tarball and Windows Each task is accompanied by a description of its purpose and the expected results Run the Administration Interface Purpose To verify the installation and that the Administration Interface is accessible Result the Ad
63. in Server Setup Directives that belong to the component View Description at the end of each row of the table is a small icon that displays a tooltip that describes the component Additional actions for Specific rules Zend Debugger Allowed Clients Clicking this link directs you to Server Setup Debugger where you can define the IP addresses that can or are prohibited to connect Zend Job Queue Queue Setup Clicking this link directs you to Server Setup Job Queue where you can define global Job Queue settings Zend Monitor Monitoring Rules Clicking this link directs you to Rule Management Monitoring where you can define and activate monitor rule settings Zend Page Cache Caching Rules Clicking this link directs you to Rule Management Caching where you can create and edit cache rules The following message appears when an option was not installed This component is not installed for instructions see the Installation Guide For Windows see Windows Installation for DEB see DEB Installation and for RPM see RPM Installation 44 Zend Server Reference Manual The following components can be turned On Off and configured as follows Component Status Comments Zend Code On Activates code tracing for events Tracing configured to create a trace file and for manually generating a trace file Off Code tracing will not be available at all Zend Data On Activates the Data Cache Th
64. in any way but it makes it possible to determine whether you use PHP on your server or not display_errors This determines whether errors should be printed to the screen as part of the output or if they should be hidden from the user Value stderr sends the errors to stderr instead of stdout The value is available as of PHP 5 2 4 In earlier versions this directive was of type boolean Note This is a feature to support your development and should never be used on production systems e g systems connected to the Internet Note Although display_errors may be set at runtime with ini_set it won t have any affect if the script has fatal errors This is because the desired runtime action does not get executed register_globals Whether or not to register the EGPCS Environment GET POST Cookie Server variables as global variables Relying on this feature is highly discouraged Please read the security chapter in the PHP manual on Using register_globals for related information Note register_globals is affected by the variables_order directive 305 Zend Server Reference Manual Configuring Debugger Access Control The allowed hosts list is a list of IP addresses that are permitted to initiate a Debugger session on the Web server on which Zend Server is installed The default value for zend_debugger allow_hosts intentionally covers a wide range of IP addresses This is to make the in
65. increase the quantity of files 1 Goto Server Setup Components and verify that the Zend Optimizer component is set to Om 2 Click the Configure link in the directives column to display the list of Optimizer directives 3 Locate the directive zend_optimizerplus max_accelerated_files and increase the value according to your system s memory allocation abilities If the memory fills up quickly especially if there are only a few files increase the memory allocation or blacklist the file Files which exceed the allocated memory or file quantity are not accelerated Blacklisting Files If none of the alternatives described above are suitable or if the file meets one of the criteria for blacklisting a file use the following procedure to create a blacklist file that contains the file names of the files you do not want to be byte code cached by Optimizer B To create a blacklist file 1 Create a ixt file using a text editor 2 Write a list of the file names to blacklist i e ignored by the Optimizer List each file name in a new line 3 In Server Setup Components verify that the Zend Optimizer component is set to On 4 Click the Configure link in the directives column to display the list of Optimizer directives 5 Locate the directive zend_optimizerplus blacklist_filename and specify the full path to the file location The files in the blacklist are now ignored by Optimizer 79 Zend Server Reference Manu
66. more dynamic requests Files can be sent through the ZDS in two ways 1 Automatically By configuring Apache to pass specific file types to PHP For example images PDF files or any other relatively large static files When the ZDS is loaded and configured PHP passes the request to the ZDS which takes over sending the file to the user 2 Manually By calling the Zend Download Server API functions from within your PHP script This is useful for situations where you require some code or logic to run before allowing a download such as authenticating users before permitting them to download Configuring Zend Download Server to Automatically Handle Files This procedure describes how to configure your environment to handle certain file types with the ZDS Although transparent to end users this action is expected to increase server capacity To set up ZDS to automatically handle specific file types LJ 1 Locate the Apache configuration file that contains the PHP handler configuration by searching for the line starting with AddHandler php5 script you can do this using grep or similar tools This line defines the file extensions that are passed to PHP Add the extensions of the file types you want ZDS to handle at the end of this line Make sure that the same file extension is listed in the ZDS MIME type configuration file located in lt install_path gt etc zend_mime_types ini If not add it and make sure to define the correct MI
67. on other browsers but with unpredictable behavior 346 Zend Server Best Practices Log File Permissions When the message Log file usr local zend var log error log does not exist or missing read permissions appears it means that Zend Server does not have permissions to read the log file or the file does not exist If the file does exist you will need to provide the zend user permissions to access the directory containing the file and read the file itself One example of enabling Zend Server to read the Apache error log on Debian Linux is provided below To enable Zend Server to read the Apache error log on Debian Linux 1 Open a terminal and switch to root using su or sudo s 2 Run the following command chmod 644 usr local zend var log error log On most Red Hat Fedora and CentOS systems you will need to allow access to the Apache logs directory too This can be done by running the following command as root or using sudo chmod 755 var log httpd 347 Zend Server Reference Manual Zend Server Exception Caught Installing Zend Server with a bundled Apache assumes that the following port settings are used The Web server Apache is listening on port 10088 and the Zend Server Administration Interface are listening on 10081 10082 If your environment is configured differently when trying to access the Administration Interface you will receive a Zend Server Exception Caught error message DEB and RPM installation
68. out some super global values by black listing their keys in the Zend Monitor Security Blacklist Filtered values will not be stored in the events database and will not be included in event reports details instead the string lt BLOCKED_VALUEs will be presented Why Configure Security Settings The primary reason for securing information is to prevent the storage handling and distribution of sensitive information such as user names passwords and credit card numbers This information is collected as part of the Zend Server diagnostic process However in most cases the context and not the value is important to understanding why the Event occurred Therefore sensitive information omitted from the Event Detail collection process An additional reason for using the Security Blacklist is to prevent inadvertently sending sensitive information by e mail when using the Event Action option that automatically sends Event Details via email Black listing sensitive information may be required in order to confirm with some security standards such as PCI Certification 307 Zend Server Reference Manual This procedure describes how to manually define a blacklist of keys that should not be collected stored or displayed in Event reports H To manually define a security Blacklist 1 In Zend Server go to Server Setup Components 2 Locate the Zend Monitor component in the table and click on the Directives link This will guide you direct
69. read into an array If a valid license does not exist or is not specified in the php ini it is not entered in the PHP server s license registry If a valid license that matches the product and signature cannot be found in the license directory an array is not created For information on the proper installation of a license file as well as the php ini directive see the Zend Guard User Guide zend loader current file Obtains the full path to the file that is currently running In other words the path of the file calling this API function is evaluated only at run time and not during encoding zend_loader install license Dynamically loads a license for applications encoded with Zend Guard zend obfuscate function name Obfuscate and return the given function name with the internal obfuscation function zend current obfuscation level Returns the current obfuscation level support set by zend_optimizer obfuscation_level_support to get information on the product that is currently running zend runtime obfuscate Start runtime obfuscation support to allow limited mixing of obfuscated and un obfuscated code zend obfuscate class_name Obfuscate and return the given class name with the internal obfuscation function zend_get_id Returns an array of Zend host IDs in your system If all_ids is TRUE then all IDs are returned otherwise only IDs considered primary are returned zend loader version Returns Zend Guard Loader version 199
70. scheduled to runa process at 2 00am Soptions array reet oeh qims gt Caral w m C rte Sur rocinas V onor ow Zen 1 jq gt createHttpJob http localhost jobs formproc php _POST SoOpELons i the format used in date to pass the execution time this is an SQL like YYYY MM DD hh mm ss format e g 2009 6 25 23 45 00 for June 25th 2009 at 45 minutes past 11pm 121 Zend Server Reference Manual Using the Job Queue from the Zend Server Administration Interface The Zend Server administration interface provides tools for creating recurring jobs These jobs have a set schedule and will be run at specific times This procedure describes how to create a recurring job H To create a recurring job 1 In the administration Interface go to Rule Management Recurring Jobs Click New Recurring Job to open the New Scheduling Rule page Enter the following rule related information a URL the path indicating to where the code is for the job to execute and the server on which to run it b Name Optional a name describing the job c Application Optional the name of the application the job is related to This information can be used for grouping jobs 4 Define when the job should run by using the time options Hourly Daily Weekly or Monthly Selecting an option will change the parameters displayed For example selecting daily will display hour and minute options whereas weekly will display the da
71. server configuring domain name 67 estaire 67 E E 173 ET 67 verifying Installatton 67 Auto refresh log view 75 B DACKTACE oo eeceeccecesseteeeesseeeeeeesseeeeesssenaees 16 Benchmark Tool 95 benchmarking cceeeeeeeeeeeeeseeeeeneeeeees 95 blacklisting recommendations 81 bytecode Coaching 144 Optimizing ee ee 144 C cache ClO ANN ME 129 CCl SUING i daian Macanan 129 deleting variables AAA 129 disk storage ceeeceeeeceeeeeeeteeeeeeeeees 129 fetching variables from 129 SHM Storage eesceeeeeeeeeeeeeeeneeeeeees 129 storing Variables fo 129 Cache browser rrene 44 Cache Conditions 44 Cache duration 0 c cccecceeeeeeeseeeeeeees 132 Cache folder deih 129 configuration sessen 129 Cache Output 132 Kagherile gtv eegd eiegeeegge dee e e ee dE ee 132 Cached content 129 MANAGEMENT oc cccsescetececcersesscceersseeeers 129 STON D 129 Cached variables ccccceeeeeeeeees 129 caching adding TUES eee cece eeeeteeeeeeneeeeeeeaee 44 Conditons en 44 CONTEN ecni ebe deed deg 43 44 eet 44 deleting rules eeeeeeeeeeeeeeeeneeeeeees 44 KEY Sireci ince ain edd 129 Zend Server Reference Manual large files eee ceeeeeeseeceeeeeeeteeeeeeeeeeeees 129 MANAGING rules eee eee eee eeteeeeeeneeeeeeeaee 44 NAMESPACE keys eee eeeeeeeeteeeeeetteeeeeees 129 Wu Le 129 PAQCS EE 44 MES ee cerry 44 SCMPtS eera e eeh GEET 44 URL content 43 Caching WE 43
72. since version 4 0 zend_monitor database port The port in which teh Database is listening on SQLITE N A MYSQL port Type integer Default Value 3306 Available since version 4 0 zend_monitor database user The user name to connect to the DB SQLITE N A MYSQL machine name ip Type string Available since version 4 0 zend_monitor database password The password to connect to the DB SQLITE N A MYSQL machine name ip Type string Available since version 4 0 zend_monitor events_rules_ xml_ file name The name of the file that contains the XML for the Events Rules and Actions Type string Default Value events_rules xml Available since version 4 0 244 API Reference zend_monitor smtp_server The SMTP server to use to send event mails Type string Available since version 4 0 zend_monitor smtp_port The SMTP Port that the SMTP server uses to send event mails Type integer Default Value 25 Available since version 4 0 zend_monitor sendmail_ from An email address to be used as the from mail for Event mails Type string Available since version 4 0 zend_monitor gui_host_name This host name is used to build a link to an issue when the user is notified of the issue Type string Available since version 4 0 zend_monitor max_events_queue_size The maximum size of the Received Events queue MB If events are received beyond the maximum size the incoming events are dropped out Type integer Units
73. since version 5 0 Description boolean ZendJobQueue isSuspended void Return Value A Job Queue status ZendJobQueue isJobQueueDaemonRunning Checks if the Job Queue Daemon is running Available since version 5 0 Description static boolean ZendJobQueue isJobQueueDaemonRunning void Return Value Return true if the Job Queue Deamon is running otherwise it returns false 264 API Reference ZendJobQueue suspendQueue Suspends the Job Queue so it will accept new jobs but won t start them The jobs which were executed during call to this function will be completed Available since version 5 0 Description void ZendJobQueue suspendQueue void ZendJobQueue resumeQueue Resumes the Job Queue so it will schedule and start queued jobs Available since version 5 0 Description void ZendJobQueue resumeQueue void ZendJobQueue getStatistics Returns internal daemon statistics such as up time number of complete jobs number of failed jobs number of waiting jobs number of currently running jobs etc Available since version 5 0 Description array ZendJobQueue getStatistics void Return Value Associative array 265 Zend Server Reference Manual ZendJobQueue getConfig Returns the current value of the configuration option of the Job Queue Daemon Available since version 5 0 Description array ZendJobQueue getConfig void Return Value Associative array of configuration variables Z
74. the password definition page Correct completion of this procedure in other operating systems You can log in with the new password If you are unable to change your password refer to the Support Center for further information The following procedure describes how to change your password from inside the Zend Server Administration Interface To change your password from inside the Adminisiration Interface LJ 1 Inthe Administration Interface go to Administration Password and License 2 Enter your current password and enter your new password in the next two fields 3 Click Change Password to apply changes Correct completion of this procedure results in Zend Server requiring you to log in with the new password the next time you access the Administration interface Registration Zend Server Reference Manual Registration Wizard The first time Zend Server runs the registration wizard is displayed 1 The first step is the license agreement To continue and install Zend Server you must accept the license agreement 2 The second step is the password page Your password is used to log in to the Administration Interface either from the main login page accessed from your browser or from the Zend Controller If you are using the Zend Controller locally or remotely i e Zend Server and Zend Controller are located on separate machines make sure that the Zend Controller settings match your Zend Server settings Click here
75. this to enabled rules to stop generating events e Enable Emailing Action Reactivate the emailing action This will trigger an email each time the event is generated Enabling emailing will start to send emails to the system default email address if you want to send the email to a different address you have to manually edit the rule 32 Zend Server Reference Manual e Disable Emailing Action This will disable the emailing action for the selected rules Once disabled the rule does not save non default email addresses and when the Action is enabled the emails will be sent to the system default address e Enable Code Tracing Action Activates code tracing and a trace file will be generated each time the event is triggered e Disable Code Tracing Action disables Code tracing To apply changes you must restart the server For more information about when to disable a rule see Working with Monitoring In addition to creating issues to display events that occurred you can define a rule to generate trace information using Zend Code Tracing see Edit Rule to find out how to trigger code trace collection from a Rule 33 Zend Server Reference Manual Rule Types The evenis listed in Monitor Events are based on rules defined in Rule Management Monitoring If a rule is enabled it is displayed in the Events page when it is triggered When more than one event with a high percentage of similarity is triggered it is aggregated int
76. two categories Basic Tasks Simple actions that can be applied to the page Advanced Tasks Advanced actions for diagnosing and managing the content of the issue 51415 PHP Error Occurred once at 17 Aug 2010 13 40 URL http localhosttestissues php Function Name open fopen fusrbinit lt a href function fopen gt more Error String Last Time Count Function Data Request Server Backtrace 17 Aug 13 40 bel Function Name open Function Arguments 1 fusrfbin t Se Zend Studio Diagnostics Debug Event Change status to Closed w Change Basic Tasks The following actions can be applied in an issue Return to the Events page To return to the Events page click Return Refresh an issue s details To refresh an issue click Refresh Detach an issue een gn m Page last refreshed 17 Aug 2010 13 46 O 4 amp 4 Status Open Severity Warning Source File Narhwwwitestissues php 29 Aggregation Hint testing 1282041600 Error Type E_WARNING Enos Show Code Tracing Export Profile Event Show File in Zend Studio Settings 105 Zend Server Reference Manual Detaching an Issue This procedure describes how to detach an issue Detaching an issue is the process of opening an issue in a new popup window This feature can be used to display several events at the same time E To detach an event 1 Goto Monitor Events 2 Select an issue from the table and open the issue click on
77. version 4 0 Description string zend_loader_version void Return Value Zend Guard Loader version 204 API Reference Zend Data Cache Configuration Directives Configuration Directives Summary Modification Directive Type Scope Description The maximal size of a i INI zend datacache shm max segment size integer PHP_INI_SYSTEM shared memory segment Amount of shared zend datacache shm memory cache size integer PHP_INI_SYSTEM memory to be used by the cache The path for storing zend datacache disk save path string PHP_INI_SYSTEM cached content to the disk Directory depth for storing keys Enables the Data Cache The Data Cache cannot work without this zend datacache enable boolean PHP_INI_SYSTEM directive The Data Cache can be turned on or off from the Administration Interface When enabled the Data Cache extension registers APC compatibility methods The log verbosity level zend_datacache disk dir level integer PHP_INI_SYSTEM zend datacache apc compatibility boolean PHP_INI_SYSTEM zend datacache log verbosity level integer PHP_INI_SYSTEM 0 5 The maximum size of the zend datacache log rotation size integer PHP_INI_ALL log file before it is rotated Configuration Directive Details zend_datacache shm max_segment_size The maximal size of a shared memory segment Type integer Units MBytes Default Values e Windows Linux i386 Linux x86 64 Linux AMD64 32 e Mac OS X Solaris FreeBS
78. when your entire environment Zend Studio for Eclipse Debugger and Zend Server is located on a single machine When working with an IDE such as Zend Studio for Eclipse your project files are in most cases placed in a location that you have defined To run the files on the Web Server you must first move the files to the Web Server s document management directory called htdocs Working with the Debugger The Debugger API that is included in Zend Server is a remote debugging tool for developers who work with Zend Studio If the Debugger Component is not set to On in the Components page you are not able to run remote debug sessions using Zend Studio For more information on turning the Debugger Component to On see Working with Components From the Zend Server perspective other than defining allowed hosts and denied hosts no additional interaction is required The following procedure describes how to define allowed hosts for debugging Users define allowed hosts to create a list of IP addresses of computers that run Zend Studio that have permission to debug the PHP code that runs on the server To define allowed hosts for debugging LJ 1 Inthe Administration Interface go to Server Setup Debugger 2 Inthe Allowed Zend Studio Clients for Debugging section enter a valid IP address or enter a range by entering the beginning of an IP address and adding 0 instead of the rest of the number To make sure you are using Wildcards
79. while recording the entire execution flow allows for quick identification and correction even before other users may notice Summary One of the most appealing characteristics of this application is that the performance and memory characteristics have been designed to be suitable for production environments and excellent in depth trace of execution Other advantages In depth root cause analysis when event happens Trace of exact request which had the failure a view back in time No need for risky reproduction Insight into additional PHP subsystems beyond the script itself such as Web Server interface Technology suitable for development testing staging and production 161 Zend Server Reference Manual Adding Extensions This section includes information for the following Operating Systems Zend Server on UNIX Linux Zend Server Community Edition on UNIX Linux Mac Zend Server users can benefit from extension management capabilities for third party extensions as well as for Zend Extensions This enables users to load and unload all extensions directly from the Zend Server Extensions page Important The newly added extensions will be visible in the Administration Interface s Extensions page however the directive configuration option will not be active and directives belonging to the extension have to be configured directly from the php ini file Disclaimer Zend Technologies does not provide support for third
80. zend jobqueue job time skew allowed zend jobqueue log verbosity level zend_jobqueue log rotation size zend jobqueue global directives ini file maximum allowed Report an event when a job is integer skewing from its defined execution time integer The Log s verbosity level The maximum size of the log file before it is rotated string Global Directives ini File integer 273 Zend Server Reference Manual Configuration Directive Details zend_jobqueue database A database connection string in PDO like format Relative sqlite path will be treated as relative to Zend Server data directory Type string Default Value sqlite file jobqueue db Available since version 5 0 zend_jobqueue binding An address of TCP or UNIX socket to listen for requests from clients and management GUI Type string Default Values e _unix jobqueue sock e Windows tcp 127 0 0 1 10085 Available since version 5 0 zend_jobqueue back_end_server an address of HTTP server to handle URL based jobs The default value is http 127 0 0 1 All URLs with unspecified server goes to back_end server It is possible to define several back_end servers The less loaded server the server which is executing the less number of jobs will be used to perform URL based job in this case Type string Default Value http 127 0 0 1 Available since version 5 0 zend_jobqueue max_http_jobs The maximum number of HTTP based jobs which can be executed simu
81. 326 Zend Server Best Practices Possible Causes and Solutions Slow requests in general indicate that there is a performance problem and they generally appear when there is a heavy load which in turn causes Web applications to perform poorly Check the following Bottlenecks caused by un optimized queries or multiple queries such as un joined queries slow queries and multiple short queries Use the Profiler to see how many queries are running at the same time or set thresholds to find queries that take a long time to run Check to see if a different CPU intensive process was running in the background taking up the CPU and making everything run slowly Look at the amount of calls to the function are there too many add breakpoints and run again to manually trace per query what happened Possible Solution cache the information using a Data Cache API as a PHP array or use the Page Cache to cache the presentation layer Profiler results analyze the profiler results and isolate functions areas that consume the majority of the time and analyze each function area code separately to isolate the possible cause of the problem 327 Zend Server Reference Manual High Memory Usage Description When a specific PHP request consumes more than the specified amount of memory it generates an event The High Memory Usage Rules contain the memory consumption setting i e the amount of memory the request has to consume to trigger an event
82. 7 Zend MONitOr cee eeeeeeeeeteeeeeeenteeeeeeaee 152 CONPIQUIING PERTE 55 OVEIVIOW REENEN 152 Zend Page Cache 153 Zend Page Cache overvieW 005 153 Zend Server CONPIQUIING PIPETTE 71 performance optimization 0100 278 Zend Server Best Practices Guide OVEFV OW ecccccececeeeeeeeenteceeceeeeeeeesenaees 276 Zend Server Cache 132 Zend Server Extensions eseeeeeeeee 141 Zend Server message fwpes 178 Zend Server Ovenlew sssssssssssessessress 5 Zend Server registration ceceeeeeees 9 Zend Server tabs ccccceesseeeeeesteeeeesees 14 Zend Server component performance 95 Zend Server liCenses oeenn 9 Zend Server registering ceeeeeseeeeeees 9 Zend Server updaies 98 Zend Server updating seesseessse eseese 98 Zend Studio Client settmgs 55 IP addres Soan ead 55 Zend Studio for Eclpee 17 LOE eect Hii Mel leeds Oi ia te Ba eden ea 17 LSE Prowler asee a eet eea ERAN 17 369
83. Built in This applies to extensions that have dependencies or were complied with PHP Built in extensions cannot be removed and thus do not have an On Off option Directives Clicking this link directs you to a pre filtered view of the directives in Server Setup Directives that belong to the extension View Description at the end of each row of the table is a small icon that displays a tooltip that describes the component 47 Zend Server Reference Manual Directives The PHP Directives Info page is accessed from Server Setup Directives The PHP Directives page allows you to easily edit your PHP configurations from the Administration Interface From here you can view and configure commonly used directives The available directives are grouped by category in expandable lists Clicking the arrow next to the category name expands the list to expose the different options Where relevant input fields are added to change a directive s value The initial display shows the most commonly used Directives Click All for the full list of directives or use the Search component to locate a specific directive or use ext lt extension_name gt to find directives by extension You can also use the Popular option to view commonly used directives such as directives that define directories and languages 48 Zend Server Reference Manual Debugger The Debugger page is accessed from Server Setup Debugger The Debugger page is us
84. Caching Altermatives eee 153 Caching Conditions ceceseeeeeeees 132 Caching Information cccceesseeeeeeneees 44 Caching Options ccceeeeeeeeseeeeereeeees 126 Caching PHP output ssseeseeeeeeeeeeeen 153 caching rules 44 adding EE 43 Configuring 43 ASENG eiei iaeei i ia 43 SANG a iai iiaa 44 132 TIRGTING iiini a aa a 43 Caching Hues 43 caching URLS cossaire ee 132 calliing the Zend Download Server API 93 calling Java objects in PHP ee 147 Calling Java objects in PHP ele ET 147 Changing an Events Status 103 Changing Component Status 08 78 changing event stats eeen 17 Changing Extension Status 00naaaaaea 73 Changing Statuses ccesseeeeesnees 152 Code changing performance configurations 284 configuring change auto detection 284 configuring validation frequency 284 CEDUGGING DOAA E E E T 55 improving DertformanmcCe 284 360 ele WE E 55 TOCYCIING EE 52 VIGWIING BEE 55 Community Ed ion eeen 2 Community Edition features 9 Community Edition mode 9 compile time reduclng 81 compiled scripts savimg eects 81 Compiling Extensions eeseeseeeee 161 component performance testing 95 Component recommendations 278 Componente 49 Le te 78 ll ale DEE 78 Changing Status eeeeeeeeeeseeeeeees 78 clearing cached information 78 CONGU Gie ee a E 49 co
85. Code Tracing page Monitor Code Trace Traces that were generated alongside an event can be viewed in the Code Tracing page Monitor Code Trace and also from the issue s details 112 Zend Server Reference Manual Viewing Trace Information Inside an Event This procedure describes how to view trace information that was collected at the time a monitor event was triggered Trace information for a monitor event is only collected if the specific event was defined to trigger a code trace To view trace information inside an event LJ 1 Go to Monitor Events ss 2 Select an event from the list by clicking on the event s ID ES The Issue Details page will be displayed 3 Inthe occurrences section navigate to the time that the trace was supposed to run clicking on that group will add an additional View Trace button to the display Clicking on it will open the Code Tracing view where you will be able to see the trace information See Code Tracing Tree and Code Tracing Statistics for more information about the Zend Code Tracing view Viewing all Trace Information This procedure describes how to view trace information for traces that were triggered manually or by an event The Code tracing view is populated after trace information has been collected either from an event or manually To view trace information LJ 1 Go to Monitor Code Tracing 2 Select a trace from the list by clicking on the trace s ID The Code Tracing vie
86. D i386 FreeBSD x86 64 AIX PPC 2 Available since version 4 0 205 Zend Server Reference Manual zend_datacache shm memory_cache_size Amount of shared memory to be used by the cache Type integer Units MBytes Default Values e Windows Linux i386 Linux x86 64 Linux AMD64 32 e Mac OS X Solaris FreeBSD i386 FreeBSD x86 64 AIX PPC 2 Available since version 4 0 zend_datacache disk save_path The path for storing cached content to the disk Type string Default Value datacache Available since version 4 0 zend_datacache disk dir_level Directory depth for storing keys Type integer Default Value 2 Available since version 4 0 zend_datacache enable Enables the Data Cache The Data Cache cannot work without this directive The Data Cache can be turned on or off from the Administration Interface Type boolean Default Value 1 Available since version 4 0 zend_datacache apc_compatibility When enabled the Data Cache extension registers APC compatibility methods Type boolean Default Value 1 Available since version 4 0 206 API Reference zend_datacache log_verbosity_level The extension s log verbosity level Level 1 includes very important information messages errors and warnings Level 2 displays notices Greater levels up to 5 are reserved for debug purposes Type integer Default Value 2 Available since version 4 0 zend_datacache log_rotation_size The maximum size of the log fi
87. F4 zend The PHP Company Zend Server 5 x Reference Manual By Zend Technologies Server www zend com This is the Reference Manual for Zend Server Version 5 0 The information in this document is subject to change without notice and does not represent a commitment on the part of Zend Technologies Ltd No part of this manual may be reproduced or transmitted in any form or by any means electronic or mechanical including photocopying recording or information storage and retrieval systems for any purpose other than the purchaser s personal use without the written permission of Zend Technologies Ltd All trademarks mentioned in this document belong to their respective owners 1999 2010 Zend Technologies Ltd All rights reserved Zend Server User Guide issued September 2010 DN ZPE RM 050910 5 0 025 Table of Contents Zend Server Reference Manual 1 IMMENS 1 What is Included in Zend Server sccceeccececeeeeeeeeeeeeeeeeeeceaeeeeaaeseeeeeseaeeeseaesseaaesgeneeseaeseeaaeeteneeee 1 Code Tracing Solve Problems Faster Than Evert 1 Job Queue Offload Execution of Long running PHP Scripts cccecsceeeeeeeeeeeeeeeeeeneeeeees 1 A Web Application Server for Your Applceation 1 Enhance PHP Application Reliability and Gecurty 2 Ensure Successful Deployment 2 cccccccceeeeeeeceeeee cee eeeeaeeeeeeeseaeeesaaeeeeaaeseeeeeseeeeeaaeeseneeee 2 Detect Problems Before the Phone Hings ssesses
88. FALSE as an acceptable value remove the function from the monitored functions list Internal PHP functions If you are using internal PHP functions the best reference for investigating the problem is use the PHP manual The Zend Controller s Search option provides quick access to searching the PHP Manual You can also check your logs to see if they show PHP error information logged the same time the function error occurred User define functions If it is a user defined function running the debugger will help find out if the function is running complicated actions that are causing the function to fail Using Breakpoints while debugging will further pinpoint the problematic area in the code False Positives Sometimes functions are supposed to return FALSE Not all functions that return FALSE are indicative of a problem in your code or environment and they may be no indication of unacceptable behavior If this is the case remove the function from the Rule s Event Condition list or set the status of issues triggered by this function to ignored Removing a function from the rule affects all instances of the function Before removing the function from the list make sure the function does not require monitoring wherever it is used 323 Zend Server Reference Manual Slow Query Execution Description When a specific query runs longer then a specified duration it generates an event The Slow Query Execution Rules contain
89. I Reference zend_monitor event request_slow_exec disabled_on_high_load threshold Sets the load level to disable Slow Request Execution events for the same request that already triggered a high load event Type integer Default Value 0 Available since version 4 0 zend_monitor event request_relative_slow_exec min_exec_time The minimum execution time for a request to be compared to the average request execution time Type integer Units milliseconds Default Value 100 Available since version 4 0 zend_monitor event request_relative_large_mem_usage min_mem_usage The minimum memory usage of a request to be compared to the average request memory usage Type integer Units KBytes Default Value 100 Available since version 4 0 zend_monitor event request_relative_large_output_size min_output_size The minimum output size of a request to be compared to the average request output size Type integer Units KBytes Default Value 100 Available since version 4 0 239 Zend Server Reference Manual zend_monitor event zend_error silence_level Controls PHP Error event reporting when the silencing operator is used or when the error_reporting level is set to 0 The values are e 0 PHP warnings and errors are reported e 1 PHP warnings and errors are not reported e 2 PHP warnings and errors are reported even when error_reporting is set to 0 but not when the silencing operator is explicitly used Type intege
90. ME type for it The configured MIME type is sent as the value of the Content type HTTP response header which according to the browser s individual settings determines the browser s behavior when it receives the file 4 Save your files and restart the Apache server All the defined files types are now handled by the ZDS as long as this component is set to On in the Administration Interface 91 Zend Server Reference Manual Sending Files Using the Zend Download Server API This procedure describes how to call the ZDS API functions from within your code to handle specific types of file downloads Although transparent to end users this action is expected to increase server capacity The following example demonstrates the logical flow of sending a file using ZDS In this example the download only proceed if the user is authenticated Example if Suser gt isAuthenticated zend_send_file filename mime_types headers execution stops here Lk else echo Sorry you are not authorized to download this file If the user is not authenticated the download does not begin and the following message is displayed Sorry you are not authorized to download this file 92 Zend Server Reference Manual Working with Zend Controller Initial Setup The following procedure describes how to configure the Zend Controller s settings to communicate with Zend Server This procedure should be completed b
91. ODE_ADDED_SUCCESSFULLY ZSM Node added successfully to the cluster ZEND_MONITOR_ET_ZSM_NODE_IS_NOT_RESPONDING ZSM Node is not responding ZEND_MONITOR_ET_ZSM_RESTART_FAILED ZSM Node removed successfully from the cluster ZEND_MONITOR_ET_TRACER_FILE_WRITE_FAIL ZSM Restart failed 249 Zend Server Reference Manual PHP Functions zend_monitor_pass_error Passes an error to the Monitor component with file and line details This function is used in error handlers An alternative is to use trigger_error However this function does not indicate the file name and line number It only passes the error message Available since version 4 0 Description void zend_monitor_pass_error int Serrno string Serrstr string Serrfile int Serrline Parameters errno Error code errstr Error string errfile Error file errline Error Line zend monitor Custom event Creates a special custom event that is generated from your code The information collected consists of the three following parameters Class Text and User Data Available since version 4 0 Description void zend_monitor_custom_event string class string text mixed Suser_data Parameters class event type text string to appear in the event user_data optional Any additional data to store with the event 250 API Reference zend_monitor_set_aggregation_hint Incorporates the locations of occurrences in the script when there are events that requ
92. ORestart Server based components can be restarted using this action for example the Java Bridge 75 Zend Server Reference Manual Adding New Components The installation process determines which components are installed in your environment Depending on your operating system you can choose to customize your installation Windows or to work with a basic set of components that you can add to later on DEB RPM In this case no additional installation is required but only configuration change For installation specific instructions on how to add additional components see Choosing Which Distribution to Install and click on your installation type for instructions 76 Zend Server Reference Manual Working with Directives This tab is accessed from Server Setup Directives The initial display shows the most commonly used directives Click All for the full list of directives or use the Search component to locate a specific directive Users are also directed to this page from the Extensions and Components pages when they click Configure for an extension or a component that has directives which can be configured H To configure directives Als 4 5 Expand one of the lists use the Search All or the popular options to locate the relevant directive Configure the directive as required You can configure multiple directives before saving Save Changes Click the Save Changes button at the top right c
93. RO 330 Zend Server Best Practices Java Exception Description When Java code called through the Java Bridge fails due to an uncaught Java exception it generates an error The Uncaught Java exception Rule determines if Uncaught Java Exceptions are reported or not Information Collected The most important details are Function Name As displayed in the Issue s General Details Error Data Listed in the Error Data tab including the Java Stack and Java error string In most cases these details alone should be enough to indicate what happened to trigger an event Applicable Diagnostic Actions Click on a link to see how to perform each action tools are listed in order of relevance to helping solve the event Open code in editor Run the Debugger Run the Profiler Redefine database queries View information in the Logs Possible Causes and Solutions Based on the exception type investigate the Java code and fix to stop generating the event all relevant information should be collected in the issue False Positives Sometimes developers write code to intentionally trigger an Uncaught Java Exception Not all triggered exceptions are indicative of a problem in your code or environment and they may be no indication of unacceptable behavior If this is the case set issues triggered by this function to ignored 331 Zend Server Reference Manual Database Error Description When a specifi
94. Reliability and Security Tracking installing configuring and testing dozens of PHP libraries and drivers is a time sink for developers testers and administrators The rapid updates and code changes in today s fast paced Web application arena further aggravate the challenges of maintaining reliable and secure PHP runtime environments Zend Server customers have access to Zend s technical support and receive online software updates hot fixes and security patches to ensure they run the most reliable secure and up to date version of PHP Read about the Service Level Agreement SLA Zend provides to its customers Ensure Successful Deployments Many of the problems encountered during application deployment or in production occur because different PHP versions and configurations are used in development testing and production Zend Server enables you to deploy your PHP applications with confidence ensuring every member of your team uses the same highly reliable environment consistently through each stage of the application life cycle If you ship your PHP application to a remote customer Zend Server s unattended installer facilitates fast and trouble free deployments Detect Problems Before the Phone Rings When things go wrong with your application you want to know about it as soon as possible and resolve the problem before end users are impacted Zend Server enables you to take a proactive approach when it comes to ensuring the best
95. Returns an array or FALSE lt br gt If an array is returned a valid license for the product exists in the location indicated in the php ini file zend_loader_current_file Obtains the full path to the file that is currently running In other words the path of the file calling this API function is evaluated only at run time and not during encoding Available since version 4 0 Description string zend_loader_current_file void Return Value Returns a string containing the full path of the file that is currently running zend_loader_install_ license Dynamically loads a license for applications encoded with Zend Guard Available since version 4 0 Description boolean zend_loader_install_license string Slicense_file aer orerar eek 0 Ji 201 Zend Server Reference Manual Parameters license_file Name of the license file overwrite Controls if the function overwrites old licenses for the same product lt br gt 0 Do not overwrite lt br gt 1 Overwrite The default value is 0 Return Value TRUE if the license was loaded successfully FALSE otherwise zend_obfuscate_function_name Obfuscate and return the given function name with the internal obfuscation function Available since version 4 0 Description string zend_obfuscate_function_name string Sfunction_name Parameters function_name Name of the function to obfuscate Return Value Returns the obfuscated form of the given string zend_current_obfuscat
96. S Zend Download Server component improves Apache s scalability by taking over static content downloads and passing them to a dedicated process that is optimized for parallel downloads not supported on Windows servers The ZDS enhances Apache s static download capabilities This releases Apache processes to handle more dynamic requests There are two ways to define which files will be serviced by the ZDS Either via the API or via an external configuration file mime_types A single ZDS process can handle substantially more concurrent downloads compared to Apache s capabilities The Zend Download Server is a PHP extension that forks an HTTP server separate from Apache to be used for serving large files of given types by redirecting regular requests from your Apache to a separate server The Zend Download Server is a PHP extension that forks an HTTP server separate from Apache to serve specific types of large files by redirecting regular requests from your Apache to a separate server The Zend Download Server offloads the limited Apache process activity to avoid the situation where a connection is open for a long time to serve large downloads which in turn prevents the Apache from serving requests that can be handled immediately The concept is similar to the express lane in a supermarket A separate lane is made available for large downloads which frees up the other lanes for smaller downloads Based on the settings in the mime_ty
97. S located in the same file accordingly 337 Zend Server Reference Manual Tuning FastCGI Configuration for IIS7 These performance enhancements are defined by default when installing Zend Server By default Zend Server runs with a maximum of ten concurrent PHP instances For high load Web servers it is recommended to increase this value based on your performance requirements and other hardware software limitations such as memory CPU etc Requirements IIS7 Resource Kit x86 http Awww iis net downloads default aspx tabid 34 amp i 1682 amp g 6 x64 http Awww iis net downloads default aspx tabid 34 amp i 1683 amp g 6 Once installed you can administer your FastCGi settings from the Internet Information Services IIS Manager From here you can configure your Max nstances and InstanceMaxRequests J To tune FastCGi configuration for IIS7 1 Go to Start All Programs Administrative Tools Internet Information Services 7 Application Server Manager 2 Select the server to manage from the left tree FastCGI Click Settings In the Actions section on the right click Add Application and select lt install_dir gt bin php cgi exe The Add FastCGI Application dialog opens 338 Zend Server Best Practices Add FastCGI Application 24x Full Path PO sc Arguments FastCGI Properties D General EnvironmentYariables Collection InstanceMaxRequests 200 MaxInstances 4 El Process Model Ac
98. Server Reference Manual directory 5 Add the following line to your php ini to load your new extension xtension lt my_extension_name gt so Replace lt my_extension_name gt with your extension s binary name 6 Restart your Web server 7 Ensure that the extension is properly loaded by checking the output of PHP Info This can be viewed in the Zend Server PHP Info page The extension appears in your Administration Interface under the Extensions page and you can use the Administration Interface to load and unload the extension 166 Zend Server Reference Manual UNIX Compiling PHP Extensions This procedure describes how to compile a PHP extension Zend Server includes over 77 extensions however there still may be a PHP extension that you want to compile by yourself Requirements PHP Tools PECL PHP Extension Community Library PECL is a repository for PHP extensions providing a directory of all known extensions and hosting facilities for download and development of PHP extensions It is also a tool supplied in the form of a small shell script with PHP code behind it to retrieve extensions from the aforementioned repository phpize a shell script to generate a configure script for PHP extensions Build Tools While PHP can be built using many different tool chains this article will focus on using the GNU tool chain The main tools where PHP is concerned are autoconf automatic configure script builder
99. Server is the process of using Zend Studio to analyze code execution performance To access this option from Zend Server go to Monitor Evenis select an event from the list and click on the event s ID number to view the details page This procedure describes how to profile an event from inside Zend Server Profiling from inside an event provides an additional diagnostics layer in order to investigate why a specific event was triggered Before following this procedure make sure that Zend Server and Zend Studio are running and properly setup H 3 H 1 URL Function Name test H To Profile an event Open an event by going to Monitor Events selecting an event from the list and clicking on the event s ID number to view the details page In the Zend Studio diagnostics area click IO Event This action will run on the server defined in 7 Settings Dy default the settings are set to run diagnostic actions on the originating server the server on which the event was created You can change the settings to run on a different server http WiocathostMlestiargeDump php dump_data 1 Source File Nariwww lesVlargeDump php 20 NewAmf Error String Maximum execution time of 30 sec Error Type E_ERROR Last Time Count Trace Function Data Request Server Backtrace Error Data Export 4 6 321 A 09 Feb 09 57 1 5 largeDuap 6 array 0 gt Loren ipsum dolor sit amet consectetur adipiscing elit Donec viv
100. Start again 349 Zend Server Reference Manual Zend Controller Cannot Login After installing Zend Server you try to run the Zend Controller and a message is displayed in the Zend Controller stating that it cannot log in Possible causes 1 You have not yet logged in to Zend Server for the first time and therefore your password has not been defined Log in to Zend Server and set your password 2 The password setting is incorrect Open the Zend Controller settings menu right click on RW and select Settings from the menu Reenter your password in the Password field 3 Your port number is incorrect Open the Zend Controller settings menu right click on RW and select Settings from the menu Make sure the port number is correct same as in the URL for opening Zend Server 350 Zend Server Best Practices Error Failed to Communicate with Zend Studio The following error message appears in Zend Server when using the Zend Studio Diagnostics that are available from the Monitor Events Event Details page Failed to communicate with Zend Studio Go to the online help s troubleshoot section to find out how to fix the connection em em mm 133081 PHP Error Page last refreshed 05 Sep 2010 1148 e O 44 Occurred once at 05 Sep 2010 11 36 Status Open Severity Warning URL httpvlocalhosttestissues php Source File Nvarwwwitestissues php 29 Function Name open Aggregation Hint testing 1283675760 Last Time Count Fun
101. This global variable stores information that is sent to the server from the browser A cookie can be used to cache banners such as Related Search banners which usually take time to compile by displaying pre cached banners according to the information in the cookies You can only cache URLs that display static content with a long rendering time or dynamic content that you want to display statically according to time parameters 40 Zend Server Reference Manual Multiple Versions of Cached Pages e Create Compressed Cache Copies This option allows you to disable the creation of a gzip compressed version of each cached page as long as it is larger than 1KB You should normally leave this option checked e Create a separate cached page for each value of If you want to manage a different cache version according to an additional parameter you can choose to create a separate cached page for all the caching conditions Entire Query String or add one at a time each separate query string Get Server Session or Cookie Duration of Caching Define the cache s lifetime Lifetime The duration of the cache content after the set amount of seconds the cached content will be replaced by new content URL caching conditions can be defined using Perl Compatible Regular Expressions PCRE The pattern syntax is the same as the syntax used by PHP s preg_match and other preg_ functions For more information on the PCRE syntax see http
102. Zend Server Reference Manual PHP Functions zend_loader_enabled Checks the Zend Optimizer configuration to verify that it is configured to load encoded files Available since version 4 0 Description boolean zend_loader_enabled void Return Value Returns TRUE if the Guard Loader is configured to load encoded files Returns FALSE if the Guard Loader is not configured to load encoded files zend_loader_file_encoded Returns TRUE if the current file was encoded with Zend Guard or FALSE otherwise If FALSE consider disabling the Guard Loader Available since version 4 0 Description boolean zend_loader_file encoded void Return Value TRUE if Zend encoded FALSE otherwise 200 API Reference zend_loader file licensed Compares the signature of the running file against the signatures of the license files that are loaded into the License Registry by the php ini file If a valid license file exists the values of the license file are read into an array If a valid license does not exist or is not specified in the php ini it is not entered in the PHP server s license registry If a valid license that matches the product and signature cannot be found in the license directory an array is not created For information on the proper installation of a license file as well as the php ini directive see the Zend Guard User Guide Available since version 4 0 Description array zend_loader_file_ licensed void Return Value
103. _hosts Specifies the hosts that are not allowed to connect hostmask list with the Zend Debugger when running a remote debug session with Zend Studio Type string Available since version 3 6 zend_debugger allow_tunnel A list of hosts hostmask list that can use the machine on which Zend Server is installed to create a communication tunnel for remote debgging with Zend Studio This is done to solve firewall connectivity limitations Type string Available since version 3 6 zend_debugger max_msg_size The maximum message size accepted by the Zend Debugger for protocol network messages Type integer Default Value 2097152 Available since version 3 6 zend_debugger httpd_uid The user ID of the httpd process that runs the Zend Debugger only for tunneling Type integer Default Value 1 Available since version 3 6 zend_debugger tunnel_min_port A range of ports that the communication tunnel can use This defines the minimum value for the range Type integer Default Value 1024 Available since version 3 6 186 API Reference zend_debugger tunnel_max_port A range of ports that the communication tunnel can use This defines the maximum value for the range Type integer Default Value 65535 Available since version 3 6 zend_debugger expose_remotely Define which clients know that the Zend Debugger is installed lt br gt 0 Never The presence of the Zend Debugger is not detected by other clients lt br gt
104. a keys Optional for key s name prefix with a namespace Return Value TRUE on success FALSE on failure or when entry doesn t exist zend bm cache clear Deletes all entries from all namespaces in the cache if a namespace is provided only the entries in that namespace are deleted Available since version 4 0 Description boolean zend_shm_cache_clear string Snamespace Parameters namespace The data key Optional prefix with a namespace Return Value If the namespace does not exist or there are no items to clear the function will return TRUE The function will return FALSE only in case of error 212 API Reference zend_disk_cache_clear Deletes all entries from all namespaces in the cache if a namespace is provided only the entries in that namespace are deleted Available since version 4 0 Description boolean zend_disk_cache_clear string Snamespace Parameters namespace The data key Optional prefix with a namespace Return Value If the namespace does not exist or there are no items to clear the function will return TRUE The function will return FALSE only in case of error 213 Zend Server Reference Manual Zend Java Bridge Configuration Directives Configuration Directives Summary P p Modification ee Directive Type Scope Description zend jbridge server_port integer PHP_INI SYSTEM he TCP port on which the server is listening Converts PHP integers into zend jbridge ints are longs
105. a link to see how to perform each action tools are listed in order of relevance to helping solve the event Run the Profiler Open code in editor Run the Debugger Use URL Tracing to collect further information about this function in action Possible Causes and Solutions Queries to a DB database long elaborate and complicated DB queries may take a long time and make the function appear to take a long time to execute There are many ways to speed up DB queries such as Revise the SQL query itself make it simpler Improve the structure of your DB tables Use RDBMS features that can improve speed such as indexes prepared statements stored procedures etc All these are only suggested possible causes and each event Developers have to analyze each occurrence to understand the specific reasons behind the slow execution time 320 Zend Server Best Practices Long running actions Some actions triggered by a function can by definition take a long time Examples of long running actions can be using a function to run code from the command line or remote access queries with Web services or searching for files in a directory In most cases these uses of a function cannot be refined and the best action is to ignore these issues when they occur False Positives Sometimes functions run slowly Not all functions that run slowly are indicative of a problem in your code or environment and they may be no indication of una
106. age the execution of PHP code using a job There are three types of Jobs you can create with the Job Queue API Queued Jobs triggered as a direct result of an end user activity Recurring Jobs usually defined by the system s programmer They are usually related to the system s maintenance and are not triggered by an action made by an end user The most common existing system to handle such jobs is cron which is usually a part of the operating system on most UNIX like systems One Time Deferred Tasks jobs usually a result of an end user interaction and may be deferred in order to optimize the system s load e g cleanup or report generation tasks may be pushed to off hours but may also be a part of the application s business logic 115 Zend Server Reference Manual Queued Jobs This procedure describes how to create a Job that will be triggered as a result of end user activity using the Job Queue API E To create a Job that will be triggered as a result of end user activity 1 2 6 Open your existing code Isolate the part of the code that should be executed as a job This code should be a viable script that performs some sort of action that can be run at a later time without disturbing the general functionality such as sending an e mail confirming a credit card etc Put the code into a file and name the file The location and the name of the file will become the value of the URL parameter therefore always p
107. ails about the actual call are displayed if it is an object Navigation In Tables At any time you can hover over a component to see a tooltip that describes the component and in certain cases additional information In the Statistics tab Clicking on an item will display the function s calls in the Calls for Functions area Double clicking on an item the Calls for Functions area will open it up to show where it happened in the Tree tab Clicking on an item in the Calls for Functions area will display the calls argument and return values if it is an Object 27 Zend Server Reference Manual Search Enter a string in the search section and click P J to filter the display and only show the functions that match the entered string 28 Zend Server Reference Manual Server Info The Server Info page is accessed from Monitor Server Info The Server Info page displays the details of your environment The information displayed in this page is as follows Zend Server Product version PHP PHP version and the path to your PHP configuration file php ini This information can also be accessed from the Administration Interface on the PHP Info page Web Server Your Web server s IP type and the operating system used to run the Web server Zend Framework Release version and directory location in your computer Zend Code Tracing Release version and status Zend Data Cache
108. air mode To run the installer in repair mode SR 1 Run the installer file or go to Start Control Panel Add or Remove Programs Zend Server and select Modify to run the installer 2 Click next to complete the repair process and Finish to close the Installer You should now be able to run Zend Server If you are still encountering problems check out our Support Center at http www zend com en support center 353 Zend Server Reference Manual Windows Internet Explorer Blocking Zend Server Q This item is relevant for Internet Explorer 7 running on Windows 2008 Server After installing Zend Server for the first time you may encounter an Internet Explorer system message stating that Zend Server was blocked see image below Internet Explorer WS xi Content from the Web site listed below is being SE aaa http 10 1 9 66 Leam more about Intemet s Enhanced ity Configuration if you trust this Web site you can lower security settings for the site by adding it to the Trusted sites zone If you know this Web site is on your local intranet review help for instructions on adding the site to the local intranet zone instead To add this site to Trusted sites zone Select the Tools menu then Intemet Options On the Security tab select Trusted Zone and then Sites Important adding this web site to the Trusted sites zone will lower the security settings for all content from this web site for all applications includin
109. al Optimizer Duplicate Functions Fix In situations where certain functions were or were not defined some PHP code produces different opcodes depending on the circumstances This causes a discrepancy for the Optimizer in the situation where the Optimizer caches one version and a sequence of events arises that requires a different function If the discrepancy is not addressed the script stops working and raises a duplicate functions error To maintain proper performance in these and similar situations activate the zend_optimizerplus dups_fix parameter This parameter shuts down the Optimizer duplicate function check to prevent these errors from occurring This parameter can be defined in Server Setup Directives by searching for zend_optimizerplus dups_fix 80 Zend Server Reference Manual Working with Zend Guard Loader The Zend Guard Loader is a PHP extension that is used to run code that was encoded or obfuscated using Zend Guard If you chose to install this component it is set to run by default out of the box To locate your installation package and verify if the component was installed by default or needs to be installed see the Installation Guide Choosing Which Distribution to Install PHP code that was either encoded or obfuscated using the Zend Guard or which is license restricted will only work if the Zend Guard Loader component is set to On The Zend Guard Loader component can be set to On or Off from
110. al operating system and Installer specific information The following types of Installations are available Linux Windows 139 Zend Server Reference Manual Working with MySQL Server Linux This procedure is relevant for users who manually downloaded and installed phpMyAdmin This procedure describes how Unix users with root privileges can use the phpMyAdmin tool to set up their environment to work with a MySQL server Before following these instructions verify that your MySQL server is installed and running If you do not have an Internet connection make sure you have access to the phpAyAdmin installation package H To extract and install phpMyAdmin 1 2 140 Download the package from http Avww phpmyadmin net Extract the package with the command tar xzvf phoMyAdmin 2 1 1 7 all languages utf 8 only tar gz Move the extracted directory to zend gui lighttpd htdocs phpMyAdmin with the following command mv lt extracted dir gt lt install_path gt zend gui lighttpd htdocs phpMyAadmin Change your directory using the following command cd lt install_path gt zend gui lighttpd htdocs ohpMyAdmin Create a directory called config under the phpMyAdmin directory with the following command mkdir config Open the phpMyAdmin Web Interface by following the link https localhost 10082 phpMyAdmin scripts setup php If you are using a different port or connecting from a remote server replace the port num
111. am Access and Zend Server Update 4 0 0 1 G Currently installed programs and updates Show updates Sort by v Change or m Remove B Pep 4 57 2 77MB jB Notepad 3 77MB Add wow Zi VMware Tools 11 74MB Programs Gi windows Installer 3 1 KB893803 OB Zend Server 187 00MB bai Zend Server Update 4 0 0 1 Windows e for su informati Po Support Info Defaults Use the following information to get technical support for Zend Server Update 4 0 0 1 Publisher Zend Version 4 0 0 Support Information http uiiwww zend comfen services support Close Zend Server removes the update When you re enter the Administration Interface the message stating that updates are waiting for you reappears at the bottom of the Administration Interface and in the Updates page Do not select Zend Server doing so will begin the uninstall process 57 Zend Server Reference Manual Zend Controller The Zend Controller is accessed from the system tray by clicking on the Zend Icon a or from the command line by running lt install_path gt bin zendcontroller Windows users can load the Zend Controller by going to lt install_path gt bin and clicking Zend Controller exe The Zend Controller is a system tray utility that provides quick access to frequently performed tasks and useful information If you are accessing Zend Server that is running on a different machine you will not be able to see the Zend Contro
112. anagement profile They are currently in the process of acquiring a West Coast competitor let s call it Yourflowers com that provides a similar service FlowerPwr com has its own website Its various enterprise applications are written in PHP Yourflowers com also has its own Website However all its applications are Java based and were developed for J2EE They have their own J2EE application server FlowerPwr com needs to begin operating as an integrated commercial entity as soon as possible in a way that conceals the fact that the companies have merged Using the Java Bridge FlowerPwr com can create a common portal in PHP The company can leave Java up and running and take full advantage of their acquisition s existing Java services FlowerPwr com can do this over an existing portal using PHP The following code example illustrates how the Java Bridge can apply to this business scenario and others like it Example lt 2 EJB configuration for JBoss Other servers may need other settings Note that CLASSPATH should contain these classes Senvt array jJava naming factory initial gt org jnp interfaces NamingContextFactory Java naming factory url pkgs gt org jboss naming org jnp interfaces Java naming provider url gt H jnp yourflowers com 1099 Sctx new Java javax naming InitialContext Senvt Uh trey to Cal che ClozSCic Sobj ctx gt lookup YourflowersBean h
113. anaging static content downloads and passing them to a dedicated process optimized for parallel downloads not supported in Microsoft Windows Zend Job Queue The Jobs Component is used to streamline offline processing of PHP scripts Zend Code Tracing Code Tracing enables real time execution flow recording in Production Environments Click on a link to view a full description of the components architecture To see how to work with a component select a topic that begins with Working with from the Tasks section For a short description of each component and where it is installed see the Installed Components section in the Installation Guide 144 Zend Server Reference Manual Zend Debugger The Zend Debugger component enables remote debugging of PHP scripts with Zend Studio The Zend Debugger communicates with the Zend PHP Engine to retrieve runtime information and present it in Zend Studio for root cause analysis purposes If your machine has multiple IP addresses make sure you define all the IPs as allowed hosts in Zend Server The Zend Debugger API communicates with the Zend PHP engine to reveal PHP runtime information such as variables call stack and environment information This information is then displayed and set up in Zend Studio to enable server side debugging profiling and code coverage 145 Zend Server Reference Manual Zend Optimizer The Zend Optimizer component speeds up PHP execution through opcod
114. anges 67 restricting IP addresses eeceeesteeeeeees 67 Return to Events 17 reusing cached data seeeeee eenen 132 KONOEN 59 PROMDACK EE 59 Rule Management ob 14 Rule Types enotne i 37 rules elle DEE 44 CISADIING EE 40 editing Benepe eceere cere nn 40 NEIE esst cela deidecetaien ted age 152 output Cachimg 71 PAGE Coaching 132 rules configuring 0eecceeeeeeeeteeeeeteeeeeeees 37 rules deablmg 35 99 rules editing 20 2 cece ee eeeeceeceeeeeeeeeeeeteaeeeeees 35 rules enabling ceeeeeeeseesteeesseteeeeseeeeees 35 rules MANAGING 0 0 0 eeeeeeeeeeeeeeeeseeeeeeeeeeeeeees 35 rules MEMOTLY USAGE eeeeeeeeeeeeeeeeeeeeees 37 rules MONIOFING ceceeeeeeeeeeeeeees 35 99 Run a Test on Your Web Server 67 run a test PHP script 67 Run the Administration Interface 67 runtime Information 103 S SCDE Cachimg inr eoii iree iante 44 scripts eXecution ssseseeeseesseererr rnrn 37 security MESSAGES eeeeeeeeeeeeeeeenteeeeeenaes 15 Send Mail action ccccccesseeeeesteeeeeees 55 Server configuration cceeeeteeeeeeeeteeeees 33 Server IMO sierde ieee e vee denn viedec 32 server parameters serieren 44 Server Setup ob 14 Setting a Password 9 Shared memonm 144 SHM disk Storage ccecceeeeeeeteeeeeeees 129 Slow Function Execution eeeeeee 37 Slow REQUEST E 16 Slow Request Exvec
115. applied when the server is manually restarted Restart PHP Message The Restart PHP message appears whenever a change is made to settings in your php ini file in order to apply the settings click the Restart PHP button The changes will be applied to php ini file on which Zend Server is running The Restart PHP message appears whenever a change is made to setting in your clusters php ini file in order to apply the settings click the Restart PHP button The changes will be applied to the php ini files on your nodes that are associated to this cluster 69 Zend Server Reference Manual Configuring Directives Associated with Extensions To configure a directive associated with an extension 1 Goto Server Setup Extensions 2 Ifthe Extension has directives that can be configured a link appears in the directives column Clicking the link opens the Directives page with the relevant directives already filtered 3 Configure the directive as required You can configure multiple directives before you save and apply your changes 4 Click the Save Changes screen to save your changes To discard changes navigate away from the screen button at the top right corner of the without clicking the Save Changes button Changes are updated in the Extension Configuration screen and in the php ini file the next time the server is restarted Directives of extensions that are turned off can also be configured through the Extensions pa
116. ars whenever a change is made to settings in your php ini file in order to apply the settings click the Restart PHP button The changes will be applied to php ini file on which Zend Server is running The Restart PHP message appears whenever a change is made to setting in your clusters php ini file in order to apply the settings click the Restart PHP button The changes will be applied to the php ini files on your nodes that are associated to this cluster 68 Zend Server Reference Manual Working with Extensions The Extensions page provides a convenient way to view and configure PHP extensions Use this page to control and configure the extensions that are loaded in your environment Changing Extension Status H To change an extension s status 1 Goto Server Setup Extensions 2 Select an extension In the actions column click Turn off or Turn on Built in extensions do not have the Turn on or Turn off option After changing an extension s status a message appears to prompt you to click the Restart Server button at the bottom of the screen EA EE You can turn more than one extension on or off before you click Restart Server All the changes that are made prior to restarting the server are applied after the restart If you navigate to other tabs the changes you make are saved and applied when the server is restarted Changes are updated in the Server Info page and in your php ini file Changes are also
117. at the application s logic triggered the event There are certain circumstances where applying a Custom Event can be useful 1 When handling logging routines and exceptions by adding a call to zend_monitor_custom_event with the data that has been logged or held in the exception 2 In logical closure situations For example when handling inputs that require monitoring the value of the input for different actions to prevent inputting values that are not acceptable for the business logic Adding the function zend_monitor_custom_event will give you the ability to trigger an event when an unacceptable value is passed and also provide the necessary backtrace information to understand how the value got there 3 More 319 Zend Server Reference Manual Slow Function Execution Description When a specific function in your code runs slowly Zend Monitor identifies it as an event worth reporting The Slow Function Execution Rule contains the following monitoring definitions runtime duration and a list of functions that should be monitored Information Collected The most important details are Function Name As displayed in the Issue s General Details Function Arguments The arguments of the function that triggered the event are listed in the Function Data tab In most cases these details alone should be enough to indicate what happened to trigger an event Applicable Diagnostic Actions Click on
118. atus execution time and output Different schedule strategies based on time job priorities and dependencies Run time statistics Web based management GUI The functional diagram of the Job Queue is shown on the following picture Concepts and Terminology Job a task defined by a URL a set of parameters and additional properties which is to be executed by the Job Queue system Each Job is executed once and scheduling rules can be defined to trigger periodical job creation for the same task Scheduling Rule an entity defining the periodic re occurrence of jobs of a specific type Each scheduling rule defines both the schedule and the job properties such as URL parameters and priority All jobs created by a specific scheduling rule share the same properties this is the basis on which Recurring Jobs are created Scheduling Rules are created either through the GUI and can also be hard coded using an API Recurring Jobs are jobs that were generated based on a scheduling rule 157 Zend Server Reference Manual Architectural Overview The Zend job queue is comprised of three main parts the Job Queue Daemon the Job Queue Client and one or more servers that execute the jobs Web Server Job Queue Job Queue Extension Daemon Internet Database The Job Queue Daemon The heart of Zend Job Queue is the Job Queue Daemon this external service takes care of managing scheduling queuing and executing tasks It als
119. b Depends on If the Job should only be run after another job the Job s name will appear only for Jobs created with the Job Queue API Created at the date and time the Job Details report was created Applications The server on which the job was run Schedule the date and time intervals the job is set to run on Variables The input variables that the job received Output The HTML output of the Job which includes the HTTP response headers and body The actions that can be performed from the Job Details page are 20 Le Back to Jobs Returns to the Jobs page Refresh Refreshes the Job information Requeue Re queue Reschedule a non re occurring Job to run Zend Server Reference Manual Queue Statistics The Queue Statistics page is accessed from Monitor Queue Statistics The Queue Statistics page is the main display for information regarding active Jobs that you have defined in your system With this information you can track monitor and evaluate the scope of active Jobs in your system Statistical Parameters The daemon started at Number of jobs added since last startup Number of jobs served since last startup Number of waiting jobs Number of jobs waiting for predecessor Number of running jobs Number of completed jobs Number of failed jobs Number of scheduled jobs Average job wait time Average job run time 21 Zend Server Reference Manual Code Tracing The Code Tra
120. bQueue getDependentJobs Returns a list of associative arrays with the properties of the jobs which depend on the job with the given identifier Available since version 5 0 Description array ZendJobQueue getDependentJobs int Sjob_id Parameters job_id A job identifier Return Value A list of jobs 267 Zend Server Reference Manual ZendJobQueue getJobsList Returns a list of associative arrays with properties of jobs which conform to a given query Available since version 5 0 Description array ZendJobQueue getJobsList array Squery int Stotal Parameters query An associative array with query arguments The array may contain the following keys which restrict the resulting list app_id Query only jobs which belong to the given application name Query only jobs with the given name script Query only jobs with a script name similar to the given one SQL LIKE type Query only jobs of the given types bitset priority Query only jobs with the given priorities bitset status Query only jobs with the given statuses bitset rule_id Query only jobs produced by the given scheduling rule scheduled_before Query only jobs scheduled before the given date scheduled_after Query only jobs scheduled after the given date executed_before Query only jobs executed before the given date executed_after Query only jobs executed after the given date sort_by Sort by the given field see SORT_BY_ consta
121. ber lt 10082 gt with the appropriate port number or replace lt localhost gt with the IP address of the remote computer Once the phpMyAdmin setup page is open you can start configuring it to manage your MySQL Server Zend Server Reference Manual To configure phpMyAdmin to work with an existing MySQL server 1 Inthe phpMyAdmin setup page click Add to add a MySQL server 2 Inthe Add section configure the following parameters Server Host Name localhost for local servers If you are not using a local server enter your machine s IP address Port socket path Most users will not have to change any settings In the Authentication Type drop down change the type to http Click Add to add the new server and fold the display A message stating that a new server was added is displayed Go to Configuration and click Save to create a configuration file Take the configuration file and move it to lt Missing gt Your server has now been added and can be configured with phpMyAdmin Further information on using phpMyAdmin can be found in the online documentation at https localhost 10082 phpMyAdmin Documentation html To log in to your phpMyAdmin server you must use your existing MySQL server user name and password usually root for administrators 141 Zend Server Reference Manual Working with MySQL Server Windows If you already have phpMyAdmin When you install Zend Server you can use the custom installation type and c
122. bles from the Cache Deleting variables from the Cache Clearing the Cache Disk memory SHM storage Caching using namespaces Cache folder depth configuration Disk Shared Memory Caching This feature provides options to determine where to store cached variables Memory caching improves server responsiveness and increases performance primarily in environments that run high traffic applications that can benefit from off loading activity directed toward their hard disk Disk caching is more suitable for smaller applications and ensures the cached content is available after the machine is restarted SHM disk storage is implemented by using the appropriate API functions and configuring the Data Cache directives Memory option error messages have been created to notify you if the store operation fails or you run out of allocated memory The following example shows the different storage options Example A simple key with no namespace stored on disk if zend_disk_cache_store hellol 1 false melen Uess wae exit 131 Zend Server Reference Manual 132 Shared memory if zend_shm_cache_store hellol 1 false Chom crataoia ed exit Store with namespace on disk if zend_disk_cache_store nsl hellol 1 false ECNO Yeraroie2 Asil esie Os Shared memory if zend_shm_cache_store nsl hellol 1 false chomuctateoime aaa exit Store with namespace on di
123. c watched database function returns FALSE it generates an event The Database Error Rule contains a list of monitored functions i e functions that when returning FALSE will trigger an event Information Collected The most important details are a Function Data Listed in the Function Data tab Function Name As displayed in the Issue s General Details a The error type will show if it is an SQL query error shell code error Java code error Applicable Diagnostic Actions Click on a link to see how to perform each action tools are listed in order of relevance to helping solve the event Open code in editor a Run the Debugger a View information in the Logs Possible Causes and Solutions Possible causes Check that the connection to the DB is working Possible Solution verify the connection data is correct address user name passwords etc and manually re establish the connection External code problems such as malformed non PHP code code that can trigger a PHP error Solution Fix SQL code Function errors should to help understand the problem according to the content of the error Use the debugger to find the code query that failed Incorrect database queries can trigger the event Solution redefine database queries and verify that the correct query syntax is used 332 Zend Server Best Practices Deployment to Production In the Deployment to Production section you will find information on how to
124. cations to stop functioning Therefore use discretion when you disable them and test your environment It is important that you fully understand the purpose of each directive before you modify it Optimal php ini configurations and settings for maximum performance optimization Name Recommended Zend Server Description Value Default realpath_cache_size 256K 256K Determines the size of the realpath cache to be used by PHP This value should be increased on systems where PHP opens many files to reflect the quantity of the file operations performed realpath_cache_ttl 120 120 Duration in seconds for which to cache realpath information for a given file or directory For systems with rarely changing files consider increasing the value error_reporting E ALL amp E ALL The error_reporting function E_NOTICE sets the error_reporting directive at runtime PHP has many levels of errors Using this function sets the error level for the duration runtime of your script 296 Zend Server Best Practices Name Recommended Zend Server Value Default Description register_long_arrays Off Off Tells PHP whether or not to register the deprecated long HTTP_ _VARS type predefined variables When On default long predefined PHP variables like HTTP_GET_VARS are defined If you are not using them it s recommended to turn them off for performance reasons Instead use the supergl
125. cceptable behavior If this is the case remove the function from the Rule s Watched Functions list or set issues triggered by this function to ignored 321 Zend Server Reference Manual Function Error Description When a specific function in your code returns FALSE it generates an event The Function Error Rule contains a list of monitored functions i e functions that when returning FALSE will trigger an event Information Collected The most important details are Function Name As displayed in the Issue s General Details Function Arguments The arguments of the function that triggered the event are listed in the Function Data tab Backtrace identify what happened before the error happened that may have caused a problem such as incorrect data or problematic input data In most cases these details alone should be enough to indicate what triggered the event Applicable Diagnostic Actions Click on a link to see how to perform each action tools are listed in order of relevance to helping solve the event Run the Debugger Open code in editor Redefine database queries View information in the Logs Run the Profiler 322 Zend Server Best Practices Possible Causes and Solutions Generally logic errors trigger Function Error events such as queries that you expect to return something and they do not and not PHP errors If you have a function that you need to return
126. ceceneeeeneeseeeeeceaeeeseaeeseeeeeeaaeeeeaaeseneeesnaeeseaeeeeneeee 205 Zend Data Cache PHPYAP iaieiiea aie deed ANEN 208 Tableof Contents ity ia Sede Aeneid ei a Av a aaa via eee Vado aed eee 208 PHP Tiet 209 Zend Java Bridge Configuration Directives ccceecceceeeeeeeceeeeeceeeeeaeeeseneeseaeeesaeeteeeenaes 214 Configuration Directives Gummanm 214 Configuration Directive Details cccccceccceceeeeeeneeceeeeeeaeeeseeeeseeeeecaaeeseaaeseneeeseaeeetaeeseneeee 214 Zend Java Bridge PHP API ererek se ekre eskani Eed Era een EE ao EREE ebb ENEE heey 216 Table of e 216 PHE Tee 217 The Java ExCeption Ca S a a a e a aaa a a aaa a aaa aaa aaa Mad aa aaa tetaeietabiees 220 Glass Prototype TE 220 EA ETIE AON AA A A A AE N 220 Zend Download Server Configuration Directhves 221 Configuration Directives Gummanm 221 External Configuration File mime_types cc cceeecceeeeeeeeeeeeeeeeeseaeeeseaaeseneeeseaeeesaeeteneeeeaes 221 Configuration Directive Details ccccceceeeceeeeeeeeeceeeee cae eeseaeeseeeeeeaaeeesaaeseeeeeseaeeeeaaeeeeneeees 222 Zend Download Server PHP AP 225 Table of e 225 PEARS Tiet 225 Zend Page Cache Configuration Directives cceccceeeeeeseeceeeeeceeeeeeaeeseeneeseaeeesaeeeeeeesaes 227 Configuration Directives Gummanm 227 Configuration Directive Details ccccceeceeceeeeeeneeceeeeecaeeeeeeeeseeeeeseaeeeeaaeseeeeeseaeeeeaeeneneeee 227 vi Table of Contents Zend
127. cedure describes how to create a one time deferred task In some use cases it makes sense to defer a certain task to a later time For example many applications have clear peak hours e g between 8am and 11pm or like in many Intranet applications during office work hours If these applications need to perform some off line processing it might make sense to defer some of the heavy processing tasks to off hours in our examples to late night or early morning hours in order to maximize the efficiency of hardware utilization E To create a time deferred task 1 Follow the instructions in Queued Jobs to create an createHtipJob job using the API 2 Pass a date time string as the schedule_time option as part of the options array passed as the 3rd parameter to createHitpJob The format used in date to pass the execution time this is an SQL like YYYY MM DD hh mm ss format e g 2009 06 25 23 45 00 for June 25th 2009 at 45 minutes past 11pm 120 Zend Server Reference Manual Zend Job Queue is not designed to execute jobs exactly on the specified time For example if the queue is limited to execute 10 jobs concurrently more on that later on and 1 000 jobs are scheduled for the exact same time jobs will have to wait until other jobs finish You should consider the schedule_time option as a request not to run a job before this time Example The following example shows a time deferred task that has been
128. ceeeesesneeeeeeeeeee 174 363 Zend Server Reference Manual Java Bridge Performance secen 174 Java Bridge PHP evtenslon 147 Java Bridge Use Cases 141 174 Java Bridge Java version requirements 85 JAVA exception ssssssssssenneser renerne 16 37 Java runtime environment configuring 85 L licences reNeWINg 0 ccceeeeeeeeeteeteeeeeeeeteees 9 license EE 9 License Expiration 0 cceceeeeeeeees 9 58 License key 9 58 license renewa ccceeeeeeeeeeseeeeeeeeeeeeeees 9 Ee 9 licenses expired ec cece eeeseeteeeeeeeeeteees 58 licenses getting 2 2 eeeeeeeeeeeeteeeeeetteeeeeees 58 licenses Obtaining ceeeeeeeeeeeeeeeeees 9 licenses updating eeeeeeeeeeeeneeene 9 58 List Entry of Watched Functions 99 loading mod sel 141 Loading the mod sel Module 173 e EEN 9 log information eee eeeeeeeeeeeeeeeeeetteeteteeees 34 Log Tail page adding Jogs 0ssnsnenaeaaen 75 Log view adding l0gS seeeeeeeeeeeeee 75 e Un E 9 login page acera e ia 9 login Zend Controller cccececsseeeeeeee 9 LOGS EE 34 logs adding oint eeii e 34 logs Apache ACCESS A 34 logs Apache error ooo eeeeeeeeeeeeeeeeeetteeeeeeee 34 logs Apache server 34 logs auto FEFPESN ceeececessseeeessteeeeeees 75 logs filtering eeen 75 logs IS ES gt 1 A gt nenene nenene 34 logs pavigdatimg 75 logs PHP eiri ege e 34 364 l
129. ch caching rules are stored Type string Default Value pagecache_rules xml Available since version 4 0 zend_pagecache compression_enable Enables file compression of cached output Applicable only on cached outputs larger than 1k Type boolean Default Value 1 Available since version 4 0 zend_pagecache clean_frequency How often expired entries are removed from the cache The cleaning frequency is configured in seconds Type integer Units seconds Default Value 300 Available since version 4 0 228 zend_pagecache log_rotation_size The maximum size of the log file before it is rotated Type integer Units MBytes Default Value 10 Available since version 4 0 API Reference 229 Zend Server Reference Manual Zend Page Cache PHP API Table of Contents e Zend Page Cache functions o page cache disable caching Disables output caching for the current request This overrides any caching settings that are configured for the current request o page cache disable compression Does not allow the cache to perform compression on the output of the current request This overrides any compression settings that are configured for this request o page cache remove cached contents Clears cached contents for all requests that match a specific URL or regular expression o page cache remove all cached contents Clears all cached contents PHP Functions page_cache_disable_caching Disables output caching for the cu
130. cing page is accessed from Monitor Code Tracing The Code Tracing page is a central display and management area for all traced information In addition Trace information can be viewed per event by drilling down to a specific event in Monitor Events Zend Server Code Tracing captures full execution data of PHP applications in real time The execution data includes function call trees arguments and return values function execution duration memory usage and indication for an executed file s name and line of code This enables you to capture problems when they occur which eliminates the need to set up environments and reproduce the steps that led up to the failure Trace URL Trace d ID Date Traced URL Created by File Size Server Action A Fi 3 4634 1 31 Aug 2010 15 10 hittp ocalhost php_sanity cttestphp Code Request 2 96 KB Unknown 3 Export go 3 4640 1 31 Aug 2010 15 10 hittp localhost php_sanity cttestphp Monitor Event 2 92KB Unknown 3 Export F 3 4641 1 31 Aug 2010 15 10 http ocalhost php_sanity cttestphp Manual Request 2 99KB Unknown 3 Export EI 3 4698 1 34 Aug 2010 15 10 http localhost php_sanity cttestphp Manual Request 2 88 KB Unknown 3 Export Fi 2 4587 1 31 Aug 2010 15 09 hittp ocalhost php_sanitycttestphp Code Request 2 96KB Unknown 2 Export oO 2 4583 1 31 Aug 2010 15 09 hitp ocalhost php_sanitycttestphp Monitor Event 2 92KB Unknown 2 Export 1 out of 1 The trace displayed in the Zend Server web
131. cking L will move the blue indicator to the first instance in the trace information each time you click on LA or the return key the indicator will move to the next instance 24 Zend Server Reference Manual The Tree includes the following columns Traced Functions The name of the caught object in the trace file This could be an argument return value function error header etc Memory Consumed by function bytes The memory used by this item Running Time A graphical representation of memory usage pointing out the before after function runtime values of the total memory usage and the difference between them This allows you to see the before value the memory consumption after the function was run and the difference i e the amount of memory the function added by running of total The percentage of the total script s runtime ms The time it took for the function to run in milliseconds including children Called from line The line of code where the event happened in the file stated in filename Navigation In Tables At any time you can hover over a component to see a tooltip that describes the component and in certain cases additional information In the Tree tab Bold items indicate calls that took the most time to execute and this continues inside the call itself indicating the slowest calls This indicates the application s critical path Double clicking on any item will jump
132. clude php ext date lib I usr local zend include php DHAVE_CONFIG_H g 0O2 SET tmp pear download newt 1 2 1 newt_vcall c o newt_vcall lo gcc I I tmp pear download newt 1 2 1 DPHP_ATOM_INC I var tmp pear build root newt 1 2 1 include I var tmp pear build root newt 1 2 1 main I tmp pear download newt 1 2 1 I usr local zend include php I usr local zend include php main T usr local zend include php TSRM 171 Zend Server Reference Manual 172 I usr local zend include php Zend T usr local zend include php ext T usr local zend include php ext date lib T usr local zend include php DHAVE_CONFIG_H g 02 c tmp pear download newt 1 2 1 newt_vcall c FECE DEIC o Vilibs newtr_vealll o bin sh var tmp pear build root newt 1 2 1 libtool mode link gcc DPHP_ATOM_INC I var tmp pear build root newt 1 2 1 include I var tmp pear build root newt 1 2 1 main I tmp pear download newt 1 2 1 I usr local zend include php T usr local zend include php main T usr local zend include php TSRM I usr local zend include php Zend T usr local zend include php ext I usr local zend include php ext date lib I usr local zend include php DHAVE_CONFIG_H er OL o newt la export dynamic avoid version prefer pic modul rpath var tmp pear build root newt 1 2 1 modules newt lo newt_vcall lo lnewt gcc shared libs
133. code arg No tracing data will actually be saved Awake tracing functionality if itis in Standby mode Tracing for all events will be awake for seconds Send email Recipients documentation zend com Cancel Rule Details The rule editing page lists all the relevant information for the selected event The initial event settings are based on the system defaults Name A descriptive name for the event and the event s status Moderate or Critical Description A generic description of what triggers the event 36 Zend Server Reference Manual Step 1 Event Condition Event Type The type of event this rule generates For a list of event types see Event Types Event Condition The exact function or parameter value that triggers the event Step 2 Event Action Event Action As soon as an event of this type is generated trigger one of the following actions Save Code Tracing Each time this event is triggered create a trace file for the Event information This option is dependent on the Code Tracing settings in Server Setup Monitor and will only run if Code Tracing is set to Active If it is set to Standby you need to also set the rule to include the Awaken tracing functionality if currently in Standby mode option You can set a duration for the Code Tracing component to be awake this will revert the code tracing component to its former status after the duration specified this option
134. com manual en coding standard naming conventions html for more information on Zend Framework s naming conventions If the class already exists this will speed up performance Using the Zend Loader also has the added advantage of loading classes outside of Zend Framework H To use the Zend Loader 1 Load the Zend Loader utility class once in your script Require_once Zend Loader php 2 From now load each class using the class name Zend_Loader loadClass Zend_Class_Name 3 For example in order to load the Zend Http Client Zend_Loader loadClass Zend_Http_Client 310 Zend Server Best Practices 2 Using require include calls Classes can also be called using the conventional require or include calls J To use require class 1 Enter a require command for the relevant file into your script Require File php 2 For example to require the Zend Http Client Class require Zend Http client php In order to see a full list of Zend Framework s components including more information on the functionality and use of the various components see http framework zend com manual 311 Zend Server Reference Manual Configuring Zend Framework Configuring Zend Server to Run a Zend Framework Application The following procedure describes how to configure Zend Server to run Zend Framework projects in a development environment using port based virtual hosts The advantage of port based virtual hosts
135. comma separated list of array keys to remove 2 A path toa file prefixed by This file should include a newline separated list of array keys to remove Type string Available since version 3 6 237 Zend Server Reference Manual zend_monitor super_globals_to_secure Defines which PHP Super global variables should passed through the security black list filter prior to being included in event reports See zend_monitor security_black_list for details Each Super global is represented by a different character from the following list e G GET included by default e P POST included by default e C COOKIE included by default e V SERVER included by default e F FILES e R RAW_POST_DATA e S SESSION e E ENV Type string Default Value PGCV Available since version 3 6 zend_monitor max_super_globals_string_len When the string is passed any characters that exceed the limit are truncated and is appended to the end of the string the end to indicate that this is a partial value Type integer Default Value 100 Available since version 3 6 zend_monitor event request_slow_exec disabled_on_function_slow_exec_event Disable reporting of Slow Request Execution events if a Slow Function Execution event was reported in the same request This reduces the chance of getting double slow execution reports triggered by the same underlying cause Type boolean Default Value 0 Available since version 4 0 238 AP
136. contents of the Optimizer shared memory storage lt br gt Note This is not an immediate action The shared memory storage is reset when a request arrives while the shared memory storage is not being used by a script Available since version 3 6 Description boolean accelerator_reset void Return Value Returns TRUE unless the Optimizer is disabled 196 API Reference Zend Guard Loader Configuration Directives Configuration Directives Summary f Modification ss Directive Type Scope Description Enables loading encoded zend_loader enable boolean PHP_INI_SYSTEM scripts The default value is On zend_loader disable licensing BEEN performance reasons The Obfuscation level supported by Zend Guard Loader The levels are zend_loader obfuscation level supportinteger PHP_INI_SYSTEM detailed in the official Zend Guard Documentation 0 no obfuscation is enabled lt br gt Path to where licensed Zend products should look for the product license For more zend_loader license path string PHP_INI_SYSTEM er aE on hon O reale a license file see the Zend Guard User Guide Configuration Directive Details zend_loader enable If you do not plan to use the Zend Guard Loader to load encoded files you can slightly improve performance by adding the zend_loader enable 0 lt br gt This disables the transparent auto loading mechanism that is built into the Zend Guard Loader Type boolean Default Value 1 Availabl
137. ction Data Request Serer Backtrace Error Data Show Code Tracing Export 05 Sep 11 36 Las Function Name fopen Function Arguments 1 fusr bin t 2 Se Zend Studio Diagnostics Debug Event Profile Event Show File in Zend Studio Settings Change status to Closed v Change This error message can be caused by a several possible problems When running diagnostics on an alternate server A The Zend Debugger is not running on the alternate server Solution Make sure that the Zend Debugger is running and available on the alternate server by going to the Zend Server Administration Interface and in Server Setup Components check that the Zend Debugger is turned on The connection parameters in Server Setup Monitor are not the same as the settings in Zend Studio s Debugger preferences IP address Port and if you are using SSL Solution Check the settings in Zend Studio for Eclipse For instructions go to http files zend com help Zend Studio Eclipse zend studio eclipse htm and make sure the Zend Studio for Eclipse debug settings are the same as defined in Zend Server The Zend Studio IP address is not allowed to debug on the alternate server Solution Go to your Administration Interface and make sure that the Zend Studio IP address that appears in Server Setup Monitor is an allowed host to debug the setting should be in the alternate server s Zend Server Administration Interface under Server Setup Debugger 351
138. d When Code Trace information is collected it is collected for a specific time and therefore will be associated to a specific group inside the event for more information see Viewing Trace information Inside an Event 111 Zend Server Reference Manual Manually Triggering a URL Trace This procedure describes how to manually run a code tracing on a specific URL Running a code trace on a specific URL will capture the current activity at the time the trace was triggered To manually trigger code tracing on a specific URL LJ 1 Go to Monitor Code Tracing ss 2 Enter the URL IP in into the Trace URL field and click oz Es The URL has to be running on the Server running Zend Server The trace information will be collected and added to the list in the Code Tracing page Running Code Tracing on Another Machine You can run Code Tracing on another machine as long as the Zend Code Trace component is installed and running on it However when running a trace on a remote machine the trace information is collected on that machine therefore Instead of running the trace from a remote machine always run a trace on the specific machine you need If you do want to run a trace ona remote server after all make sure that the server s IP is an allowed host in Server Setup Debugger Viewing Trace Information There are two ways to view trace information according to how the trace was generated Manually generated traces can be viewed in the
139. d IP address or specify a range of IPs using Wildcards 3 From the drop down list select an option according to the type of IP address you entered Click Exact IP address only for a single IP or one of the other options to represent a range of hosts 4 Click Add to add the host 5 The changes are applied after clicking The IP or range of IPs are now allowed to connect to the server through the firewall to debug PHP code with Zend Studio To remove a specific IP from the list mark the check box next to the IP and click Remove Make sure that you have not specified the IP in the Denied Zend Studio Clients for Debugging area 89 Zend Server Reference Manual Setting Up Tunneling in Zend Studio In order to properly setup a tunnel connection to Zend Studio you have to configure Zend Studio to allow Zend Server to establish a connection Zend Studio 7 users should follow the instructions in http files zend com help Zend Studio 7 setting up tunneling htm External Link Zend Studio for Eclipse 6 users should follow the instructions in http files zend com help Zend Studio Eclipse setting up tunneling htm 90 Zend Server Reference Manual Working with Zend Download Server k This component is not relevant for Windows and IBM i Servers The Zend Download Server ZDS can be used to increase your Apache Web server s capacity by automatically taking over static downloads This releases Apache processes to handle
140. d of usage is when some of the output is a form The data may include credit card numbers addresses and other kinds of information that should not be cached for security reasons For more information see Working with the Data Cache The Data Cache API includes the following functionality Storing variables to the cache Fetching variables to the cache Deleting variables from the cache Clearing the cache Disk memory SHM storage Caching using namespaces Cache folder depth configuration 148 Zend Server Reference Manual Zend Java Bridge The Zend Java Bridge provides PHP developers with a way to use existing Java code and build PHP applications that use Java code The Java Bridge integrates Java code in PHP by connecting the PHP object system with the Java Bridge object system The Java Bridge requires that you have SUN Microsystems JRE 1 4 or later or IBM s Java 1 4 2 or later installed on your computer During or after installing depending on the installation type you are prompted to direct the installer to the JRE location You should therefore already have JRE installed 64 bit JRE is not supported More information about JRE and the latest updates can be obtained from SUN Microsystems s website The Java Bridge PHP extension adds functions that allow you to instantiate new Java classes from inside your PHP script Once a Java class is instantiated the Java Bridge gets a message from the Zend En
141. d that you are connected to the Internet When updates are available you will see a message at the bottom of the screen with a yellow warning triangle next to it Update Statuses Depending on the importance of the update each package is given a different status as follows Critical Security fixes that are needed to help protect your Server Ignoring these 9 updates could potentially open your environment to security threats Important Performance and stability related updates that can improve PHP and Web application performance Recommended Fixes to the Administration Interface and non critical updates that have no security or performance implications 56 Rollback Zend Server Reference Manual Windows operating system users can use the operating system s Add Remove programs functionality to remove the last installed small update package You cannot revert to a previous version after you have performed an upgrade To remove an update 1 2 3 Open the Control Panel from the Start menu Choose Add or Remove Programs When the dialog opens click Show updates to display the available updates for Zend Server Select the option Zend Server Update 4 X X X and click Remove to delete the update see the image below T6 Add or Remove Programs Programs mozilla Firefox 2 0 0 1 19 71MB Add Remove ick C nent j omponents To remove this update from your computer click Remove Set Progr
142. dditional Runtime column is added to show the time it took to perform the action This helps you determine if there are differences in the event s runtime identify which events took longer and what else may have happened when the event occurred for example did the event occur during a peak load or during a DB query etc Group Drilldown Clicking on a group changes the contents of tabbed display to show the details collected for that specific group of events Diagnostic Actions These actions can be applied to each group to investigate what caused the event The diagnostic actions are Debug Profile and Show File in Zend Studio All these actions run on the server defined in 7 Settings By default the settings are set to run diagnostic actions on the originating server the server on which the event was created You can change the settings to run on a different server When you use these actions make sure that you have Zend Studio on the remote machine access to the remote server and that the remote server is an allowed host For more details see Error Failed to Communicate with Zend Studio 108 Zend Server Reference Manual Action Buttons Export The Export option creates a file with a zsf prefix that contains all the information collected for the event This includes and Basic and General Details of a specific Group If Zend Code Tracing data was collected for the group see Setting a Monitor Rule to Run a C
143. decrease in time consumed by root cause analysis Job Queue Job Queues provide offline asynchronous processing of tasks and activities that can be run independently of the end user experience For an overview of the Job Queue architecture see Zend Job Queue PHP 5 3 New supported PHP version This release is a major improvement in the 5 X series which includes a large number of new features and bug fixes For a detailed list of what s new see http php net releases 5 3 0 php Zend Server Reference Manual Password Management After completing the Installation process and opening Zend Server a password definition page is displayed for first time users This page only appears once to define the Administration Interface s login password For security reasons Zend Server cannot restore your password for you However you can reset your password The following procedure describes how to reset a lost password from outside the Administration Interface To reset your password LJ In Windows 1 Inthe Start menu locate the Zend Server section and select Zend Change Password Your password is reset 2 The next time you log in to the Administration Interface you will be prompted to set a new password Other operating systems 1 From the command line run gui_passwd sh that is located in lt install_path gt bin 2 You will be prompted to enter a new password Correct completion of this procedure in Windows Zend Server displays
144. describes how to activate a rule By default all rules are set with predefined conditions As long as the Monitor component is running theses rules will be active and events will be generated based on the pre defined parameters in each rule A disabled rule will appear grayed out but you can still edit H To activate a rule 1 In Rule Management Monitoring select the rule or rules that are grayed out and at the bottom of the page in the drop down list choose the option Enable Rules 2 Click Change to save 3 To apply the changes click LO Restart PHP J The rule will now start generating Events based on the rule s settings To Change a Rule The following procedure describes how to change a rule By default all rules are set with predefined conditions Each rule has different parameters that can be configured based on what the rule monitors See Advanced Diagnostics with Zend Server for more information on the available rule types H To change a rule 1 In Rule Management Monitoring click on a rule The rule will open for editing 2 change the settings according to the rules configuration options Each rule has different settings 3 Define the actions that will be applied to the rule If you define an action for an event it will show up in Rule Management Monitoring in the Event Actions column 4 Click to save 5 To apply the changes click LO Restart PHP The rule will now start generating Events based
145. description of each performance component and includes recommendations on when the component should be installed and for which conditions it should be disabled or removed Optimizing Monitoring This section provides suggestions on how to implement and configure the monitoring for production and development environments a Fine Tuning Optimizer This section provides advanced settings to further enhance the performance gains achieved when Optimizer run out of the box Configuring PHP for Performance This section explores the optimal php ini configurations and settings to get the best PHP performance optimization 289 Zend Server Reference Manual Optimizing Zend Server Performance The Zend Server components are designed to encompass several different requirements However there is no point in adding or using certain components when they are not needed This primarily happens when you install a component that you do not use For example if you do not need to call Java objects from your PHP code there is no need to have the Java Bridge running In addition it would be better not to install this optional component at all especially as you will be prompted to install a Java Runtime Environment that is not required if you are only running PHP In this section we describe each performance component including when you should install the component when to disable the component and when applicable when to remove the
146. detail specifies how many times this event occurred since the first time 106 Zend Server Reference Manual Status The Status indicates the state of the issue In some cases the Status changes automatically The Status can be used to locate events in the Events page Use a filter to display the specific status Severity Currently there are two severity levels Critical and Warning These levels reflect your preferences in terms of the importance of the event General Details Each issue is an aggregation of one or more events with common predefined characteristics These common characteristics are displayed in the General Details section Therefore you can assume that each event that occurred for this issue has at least these details in common This is the first step in identifying the source of the event and understanding the circumstances surrounding the event 107 Zend Server Reference Manual Group Details Grouping is yet another additional aggregation layer applied to an issue Inside a single issue events are divided into groups according to the time they occurred A new group is created only if there was no activity for at least five minutes If a new event occurs after five minutes have passed a new group is added to the issue Group Details show how many groups were created for an event when a group was created and how many events are in a group When the event is also a relative or quantitative event an a
147. ding the mod sel Module sae eeeaaeeeeeeeceaeeeeaaesdeaeeseeeesaeeeeaeeeeneeee 176 Info MESSAGeS ET 181 API Ref erene ees D se EES AE EEN dein aide EE 183 Zend Debugger Configuration Directives ccccceeececeeeeeeeeeceeeeeceeeeseaeeseeeeeseaeeesaeeseaeeeeaes 184 Configuration Directives Gummanm ee ee eee tere eeee tenet tee teeeeeeeeaeesaeesaeciaeenaeseaeeeaeeeaeee 184 Configuration Directive Details 10 0 0 ee ee ee center tenes eneeeaeeeeeeeeaeeeaeesaeesaecaessaeseaeeeaeeeaeee 185 Zend Optimizer Configuration Direchhves ee ee ee eee eee eeeeeeeeeeseeseeeseeeseaeeeaeeseeenaeeaaes 189 Zend Server Reference Manual Configuration Directives Gummanm 189 External Configuration File Optimizer blacklist ne 190 Configuration Directive Details ccccccecceeeeeeeeneeceeeeecaeeeseaeeseeeeeeaeeeeaaeseeeeeseaeeeeaeeneneeees 191 Zend Optimizer PHP AP 196 RER Ee LEE 196 PAP Gert 196 Zend Guard Loader Configuration Directives ecccccceeeeeeeeceeeeeeteeeeeaeeeeeeeeseaeeesaeeseeeeeaes 197 Configuration Directives Gummanm 197 Configuration Directive Details cccccceceeceeeeeeneeeeeeeeceaeeeseaeeseeeeeseaeeesaaeseeeeeeeaeeeeaeeseneeee 197 Zend Guard Loader PHP AP 199 Table Ee EE 199 PAP Get 200 Zend Data Cache Configuration Directives ccceecceceeeeeeeeeceeeeeceneeesaeeeseeeeseaeeesaeeneeeeeaes 205 Configuration Directives Gummanm 205 Configuration Directive Details 0 ccccceee
148. e Determines integration with tracer mechanism in case of events that require a trace data dump When enabled use the URL s query string as part of the aggregation key API Reference Configuration Directive Details zend_monitor enable Enables or disables the Monitor component When set to On Zend Monitor will colelct and report PHP events When set to Off PHP will not be monited Type boolean Default Value 1 Available since version 4 0 zend_monitor log_verbosity The extension s log verbosity level e Level 1 includes very important information messages errors and warnings e Level 2 displays notices e Greater levels up to 5 are reserved for debugging purposes Type integer Default Value 2 Available since version 4 0 zend_monitor log_rotation_size The maximum size of the log file before it is rotated Type integer Units MBytes Default Value 10 Available since version 4 0 235 Zend Server Reference Manual zend monitor ehm size Amount of shared memory to allocate for event collection If exceeded an error message is reported to the log Type integer Default Values e Windows Linux i386 Linux x86 64 Linux AMD64 4194304 e 5 OS 2097152 Available since version 4 0 zend_monitor max_shm_segment_size The maximum size of a shared memory segment Type integer Default Values e Windows Linux i386 Linux x86 64 Linux AMD64 4194304 e 5 OS 2097152 Available since version
149. e Name The unique name you give the rule This name appears in the list in Rule Management Caching 39 Zend Server Reference Manual Caching Conditions Define a Web page to cache by building the URL in the entry fields Use the URL of the page you want to cache and define how long to cache the page and the caching format You can also add conditions that can further pinpoint what to cache You can choose to cache when all of the following are true i e all the conditions occur or when at least one is true i e trigger caching when at least one of the conditions occur The conditions that can be applied to a rule are Get This refers to the parameters after the d in the URL Use this condition to cache specific URLs for example caching a page with the URL http localhost 81 index php page gallery When the rule is applied only the specified page is cached out of all the pages on http localhost 81 index php Server This global variable can be used to determine server Apache parameters The most common usage of SERVER variables is to use the headers that are sent in the request i e variables that begin with HTTP for example HTTP_USER_AGENT that can be used to define rules based on browser type Session This global variable originates from an active session and can be used to cache or specifically not cache scripts if a specific variable exists or has a value in the active session Cookie
150. e a large number of keys By definition cached content is separated into different directories by key to prevent performance degradation caused by accessing files that contain large amounts of content This option is only available with disk caching Increase the cache folder depth according to the quantity of content that requires caching small amount 0 large quantities 2 Note A single directory may include several keys depending on the quantity of cached content The cache folder depth is defined by the directive zend_cache disk dir_levels The value of the directive configures how the cached files are stored The accepted values for this directive are 0 1 or 2 where 0 one directory containing all the cache files 1 a separate directory under the cache directory 2 an additional sub directory for cached content under the cache directory 133 Zend Server Reference Manual Working with Caching To access the Caching page go to Rule Management Caching The Page Cache is used to speed up recurring executions of PHP scripts in your application This is achieved by caching the PHP output HTML for specific URLs on first execution to reuse the cached data for subsequent calls Cache behavior is defined using a flexible rule system that allows you to maintain the dynamic capabilities of your applications As opposed to other caching alternatives Zend Server Data Cache and Zend Framework Zend Cache the Zend Server Cac
151. e caching and optimization The Zend Optimizer improves PHP performance by storing precompiled script bytecode in the shared memory This eliminates the stages of reading code from the disk and compiling it on future access For further performance improvement the stored bytecode is optimized for faster execution This component works out of the box and therefore does not require any configuration or changes to your code The Zend Optimizer speeds up PHP execution and increases server performance resulting in better Web application performance Zend Engine checks if the fie is cached Store in Shared Memory and Execute Web Server Runs Code Fetch from Shared Memory and Execute This component is intended for PHP developers who run complex PHP applications and can benefit from bytecode caching which is especially helpful for working with Zend Framework The Optimizer works exclusively with Apache or FastCGI environments no CLI or CGI support 146 Zend Server Reference Manual Zend Guard Loader The Zend Guard Loader runs PHP scripts that are encoded with Zend Guard The Zend Guard Loader is a PHP extension that runs outputs created by Zend Guard which provides an easy way to encode obfuscate and license PHP code via an Eclipse based interface or from the command line The Guard Loader extension must be installed on each Web server that runs files that were encoded with or use Zend Guard licenses You can a
152. e right time The enhanced information exchange results in major improvements in quality of code time to production and overall performance and stability The subsequent benefit is more resources dedicated to activities that focus on improving and expanding the current application and less time spent on locating the information that is necessary to recreate and resolve code and performance issues The Monitor component assists the efforts of the development testing and IT teams to quickly pinpoint analyze and resolve issues such as PHP Slow Script Execution Function Errors Database Errors etc 292 Zend Server Best Practices Workflow Implement customized Event Rules to areas prone to problems in your unique environment facilitating focused and efficient problem resolution Analyze Full Problem Context for a detailed insight of problematic occurrences Integrate with Zend Studio to resolve problems with state of the art development and debugging tools Implementing Monitoring Implementing Monitoring is a process of defining Events according to acceptable runtime and performance parameters When an Event occurs the Monitor compiles a complete profile of the Event s occurrence and its precise details The Event Details screen includes comprehensive details to enable developers and testers to recreate the Event in a way that mirrors the conditions of the original occurrence This information can then be used to diagno
153. e since version 4 0 zend_loader disable_licensing If you do not need to use any licensing features you can disable the Zend Guard Loader license request Setting this option lowers Guard Loader memory usage and slightly enhances performance Type boolean Default Value 0 Available since version 4 0 197 Zend Server Reference Manual zend_loader obfuscation_level_support The Obfuscation level supported by Zend Guard Loader The levels are detailed in the official Zend Guard Documentation 0 no obfuscation is enabled lt br gt Type integer Default Value 3 Available since version 4 0 zend_loader license_path Path to where licensed Zend products should look for the product license For more information on how to create a license file see the Zend Guard User Guide Type string Available since version 4 0 198 API Reference Zend Guard Loader PHP API Table of Contents e Zend Guard Loader functions O zend loader enabled Checks the Zend Optimizer configuration to verify that it is configured to load encoded files zend loader file encoded Returns TRUE if the current file was encoded with Zend Guard or FALSE otherwise If FALSE consider disabling the Guard Loader zend loader file licensed Compares the signature of the running file against the signatures of the license files that are loaded into the License Registry by the php ini file If a valid license file exists the values of the license file are
154. e system You don t have to but can if needed set up dedicated servers for handling off line jobs You don t have to but can if needed create and manage a special PHP configuration for this environment You can reuse existing code to a level where sometimes the difference between off line and on line execution is decided based on a simple request parameter 159 Zend Server Reference Manual Zend Code Tracing Zend Code Tracing enables real time execution flow recording in Production Environments Code Tracing enables deep analysis of PHP execution and flow using drill down requests related to an Event Monitoring Rule or triggered manually The component focuses on collecting key data points such as Application functions and main PHP function calls including function arguments High resolution timing and memory usage of execution elements Key PHP engine services such as Web server interface calls The information collection process focuses on keeping relevant information based on either user defined parameters that trigger events or a specific URL that is manually entered to be traced For monitor events each time an event is triggered the information is kept for further use Otherwise the information will be discarded to preserve disk space Events can also be triggered to generate a trace file for a specific URL see Triggering a URL Trace Trace information is a capture of the Function Tree and enables deep tracing o
155. e to ignore them The possible statuses are Open The basic status of an event Closed Closes the event i e changes the event status to closed If this event occurs again it is reopened Ignored Ignores future instances of this event i e changes the event status to ignore Therefore a new event is not created if the same event occurs again Reopened A closed event that was opened again because it reoccurred after the event was closed You can select events with different statuses and apply the same new status to them J To change an event s status 1 Inthe Events page select the relevant event s from the events list 2 Scroll down to the end of the page and select the relevant status from the Status ist Change status 3 Click Change Status to apply the changes The status of the selected event s is changed You can also change an event s status from inside an event details page by using the Change status controller at the bottom of the report 104 Working with Event Details Zend Server Reference Manual To access this page go to Monitor Events and select an issue ID from the list This page shows aggregated details regarding the events that triggered a specific rule The details include audit trail information and options for investigating and resolving issues For a more detailed description of events and issues see Monitor The actions in the issue details page can be divided into
156. eceaaeeeeaeeseeeeesaeeeseaeeseaeeseeeesaeeseaeeseneees 307 DD SVEIODIMO Iss te Beete Deeg e Seege ege N E E eat eels 309 What s in Development cccceccescceceeeseceeeeeseeeeeenseeeeeeeneneeeeeaeeeeeesaeeeeesneneeeesnaneeeeeseeseeeessaaes 309 Working with Zend FEramework nenun nnnenn nnt 310 Configuring Zend Framework nnna 312 Promin RE E 315 Advanced Diagnostics with Zend Server c ccccccceceeeceeeeeeeeeeeceeeeesaaeeseneeseeeeseaeeesaeeeenees 317 Event IEN 318 Slow Function Execution oiii aiaiai iiini a iaaa eege Nee 320 FUNCION te EE 322 Slow Query EXec tio WEE 324 Slow Request Execution cccccccessecseceeceseeeeeaeeeeaeeseeeeeeaaeseeaeeseeeeesaaeseeaaeseeeeeseaeeseaeseeneees 326 High Memory Usage as mecan eoria iiaiai ideaa ENa EA E E a i e 328 Inconsistent Output Gize icir riinan ceeeeeceaaeseeneecaeeesaaeeeeaaesseeeeseaeeeeaaesseaeeeeaas 329 PRAP Gr TEE 330 Java Exception ies ccc si dE ANESEC EE Abas Svea Ne KEE Aves 331 Database E 332 Deploy Ment tO d tee EE 333 Deploying Code with Zend Server AA 334 ER Eeer 336 IS Configuration Optimtzatton seaprae anaa a area aaea aa eaaa atara aariaa atanan 337 C nfigurng IS T ME ET 340 Trounes e 342 License Not Working ie ee eer ite anise reciente teeta ein 343 SUPPOK OO EE 344 S pported BrOWSCTS ET 346 Loo FilesPGrmiSSlOns ed EELER ENEE EELER ENEE EE 347 Zend Server Exception Caught c ccccccceceeceseeeeeeeeeceeeeeeaeeeeeeeeceaeeeseaeeseaeeseeeesiaee
157. ed configuring the filter click Save Filter As to name the filter and save it for future use 6 Click Apply Filter to re display events according to the filter parameters If you do not want to save the filter directly click Apply Filter without saving Only events matching the filter are displayed Use Delete Saved filter to remove the filter Filter information is saved until the next login You can Safely navigate to other pages and tabs without losing your filter settings Viewing Event Details The following procedure describes how to open an event to view the event s details Event Details are the actual context of the event Use these event details to locate information for root cause analysis of the issue To open an event LJ 1 Goto Monitor Events to display the Events page In the Events page go to the Event table Locate an event that interests you the filter option can be used to decrease the number of events listed in the table 4 Click on the event s ID number in the ID column The Event Details page opens 103 Zend Server Reference Manual Changing an Event s Status This procedure describes how to change an event s status The event status is used to handle the information gathered by an event in a way that is similar to an issue tracking system For example if you know that a certain problem has been solved you can close the event or if several events of the same type are triggered you can choos
158. ed to enable remote PHP debugging and profiling of Web applications using the Zend Debugger component This component enables developers using the Zend IDE to connect to a remote server to analyze debug and profile and fix code Event information collected by the Monitor component can be further diagnosed with Zend Studio provided that the machine running Zend Studio is registered as an allowed host and it does not appear in the denied hosts list Special attention to this should be given when specifying IP ranges to make sure that necessary IPs are not included in that range By default your local IP 127 0 0 1 is registered as an allowed host by default The Zend Debugger page allows you to configure the hosts for the following debug options Hosts allowed to initiate debugging and profiling sessions Hosts denied the permission to initiate debugging and profiling sessions 49 Zend Server Reference Manual Monitor The Monitor page is accessed from Server Setup Monitor From this page you can define the different settings for configuring the Zend Monitor component This component is used to capture PHP events when they happen and to alert developers and system administrators This can be done by using the events predefined in the Administration Interface or by using the API The Monitor page is a settings definition page for the Monitor component that provides event based PHP monitoring Zend Studio Clien
159. eees 8 passwords restortmg 8 passwords Setting eeeeeeeeeeeeeeeeeeeeeees 9 passwords Windows 8 performance Imptrovlmg o ege ee 129 performance boosting esseeseeseeseee 81 performance testing ccceeeeeeeeees 95 PHP accessing Java language and architecture 174 boosting Dertormance 285 CONPIQUIING PPETI 71 GEDUGGING nai a i iis 67 enabling debuogmg 67 integration with Java infrastructure 174 Java classes im 147 setting concurrent instances 328 setting recommendatons 285 setting request handling s 100 328 PHP code encoded EE 84 license restricted A 84 ODIUSCALCO BEE 84 PHP configurations 0cccceeeeeeereees 53 PHP debugging allo gre DEE 67 PHP Erro EE 37 PHP X CUTION ssi isenana inanka ia 144 PHP extensions ceseeeeeceeceeeeeeeeeeeeees 84 365 Zend Server Reference Manual adding DEE 161 PHP Extension 52 PHP t e Sg evel naire natin 32 33 PHP Java Bridge A 174 PHP optimization 0 ecceceeeeeeeeeeeenteeeeees 144 dagraa eane eE E 144 PHP output Cachmg 153 PHP performance OPTIMIZING ereak rat n ss 144 PHP script problemS n 152 PHP SCriptS renna aen 153 PHP scripts output 153 PHP le 2 PHP version 5 15 PHP creating a Java object wi 85 PAPII rta a ae eet 33 Configuring 49 configuring error reporting directive 285 configuring include_path directories 285 configuring magic quotes f
160. efore using the Zend Controller J To Set up the Zend Controller ls Open the Zend Controller menu right click in Windows or Unix Ctrl Click in Mac In the Zend Controller s menu click to open the Settings dialog Make sure the following settings are correct Hostname unique name or IP number of the server on which Zend Server is running Can be a remote server on the same LAN Port The default ports are Windows 80 for HTTP Unix 10081 for HTTP and 10082 for HTTPS If you changed the port of the Web server that runs Zend Server during the installation change this value too Password The password is automatically configured when you set your Administration Interface password Connection Scheme Your preferred method of connecting the Control Panel with Zend Server for communication purposes where HTTPS is a secured connection protocol Zend Server settings Server comunication Proxy settings Hostname 127 0 0 1 Port Password Connection scheme 93 Zend Server Reference Manual Once the Zend Controller is properly configured you can use it to change the status of the following components Data Cache Debugger Optimizer and Java Bridge You can also access the Administration Interface directly by clicking one of the following Zend Controller buttons Configure Zend Debugger Zend Extension Configuration and PHP Info Other Zend Controller features include Multi Source search and Be
161. ell tested code base that your enterprise can depend upon Extreme Simplicity amp Productivity We designed Zend Framework with simplicity in mind To provide a lightweight loosely coupled component library simplified to provide 4 5s of the functionality everyone needs and that lets you customize the other 20 to meet your specific business needs By focusing on the most commonly needed functionality we retain the simplified spirit of PHP programming while dramatically lowering the learning curve and your training costs so developers get up to speed quickly We do this with l No configuration Extensible and well kad Flexible architecture files necessary to tested code base PN get going Sch Frameworks and best practices mean reduced training costs and quicker time to market important factors in adoption decisions Built so you can pick and choose just the pieces you 151 Zend Server Reference Manual need to turbocharge your web applications all your developers know where to find their PHP Zend Framework code which speeds new development and reduces maintenance costs Latest Web Development Features AJAX support through JSON meet the ease of use requirements your users have come to expect Search a native PHP edition of the industry standard Lucene search engine Syndication the data formats and easy access to them your Web 2 0 applications need Web Services Zend Framework
162. endJobQueue reloadConfig Re reads the configuration file of the Job Queue Daemon and reloads all directives that are reloadable Available since version 5 0 Description boolean ZendJobQueue reloadConfig void Return Value If configuration file was loaded successfully or not 266 API Reference ZendJobQueue getJobInfo Returns an associative array with properties of the job with the given id from the daemon database Available since version 5 0 Description array ZendJobQueue getJobInfo int Sjob_id Parameters job_id a job identifier Return Value array of job details The following properties are provided some of them don t have to always be set id The job identifier type The job type see TYPE_ constants status The job status see STATUS _ constants priority The job priority see PRIORITY_ constants persistent The persistence flag script The URL or SHELL script name predecessor The job predecessor name The job name vars The input variables or arguments http_headers The additional HTTP headers for HTTP jobs output The output of the job error The error output of the job creation_time The time when the job was created start_time The time when the job was started end_time The time when the job was finished schedule The CRON like schedule command schedule_time The time when the job execution was scheduled app_id The application name ZendJo
163. ep in history forever schedule_time Time when job should be executed schedule CRON like scheduling command http_headers Array of additional HTTP headers Return Value 262 API Reference A job identifier which can be used to retrieve the job status ZendJobQueue getJobStatus Retrieves status of previously created job identified by job_id Available since version 5 0 Description array ZendJobQueue getJobStatus int Sjob_id Parameters job_id a job identifier Return Value The array contains status completion status and output of the job ZendJobQueue removeJob Removes the job from the queue Makes all dependent jobs fail In case the job is in progress it will be finished but dependent jobs won t be started anyway For non existing jobs the function just returns false Finished jobs are simply removed from the database Available since version 5 0 Description boolean ZendJobQueue removeJob int S job_id Parameters job_id A job identifier Return Value The job was removed or not removed 263 Zend Server Reference Manual ZendJobQueue restartJob Restart a previously executed Job and all its followers Available since version 5 0 Description boolean ZendJobQueue restartJob int Sjob_id Parameters job_id A job identifier Return Value If the job was restarted or not restarted ZendJobQueue isSuspended Checks if Queue is suspended and returns true or false Available
164. er ZDS component This can also be done in Zend Server from Server Setup zend_dserver enable boolean PHP_INI_SYSTEM Components When turned to Om the ZDS passes downloads to a dedicated process When turned to Off all downloads are handled by the Apache server zend_dserver mime types file string PHP_INI_SYSTEM The full path to the MIME type file The location of the Zend Download zend_dserver log file string PHP_INI_SYSTEM Server ZDS log file zend dserver log verbosity integer PHP_INI_SYSTEM Log s Verbosity Level The minimal file size that can be zend deerver min file size integer PHP_INI_SYSTEM served via a ZDS process Smaller files are served via Apache The ZDS process priority level The zend_dserver nice integer PHP_INI_SYSTEM lower the number the higher the priority the process is given Disables handling byte range zend dserver disable byterange boolean PHP_INI_SYSTEM requests All requests return an entire file The file attributes that are taken as part of an etag The size of the data chunks that zend dserver mmap chunk integer PHP_INI_SYSTEM are read from the file into the socket Enable use of sendfile backend It zend deerver use sendfile boolean PHP_INI_SYSTEM can significantly improve performence zend dserver etag params string PHP_INI_SYSTEM External Configuration File mime_types The mime_types file is an external list of file extensions that should be sent through the Zend Download Server 221
165. er if you are caching a PHP script that outputs binary data for example JPEG or PNG images ZIP or EXE files PDFs etc which cannot be further compressed you should un check this option to avoid redundant processing For more information see Page Cache Zend Server Reference Manual 2 Click Add Parameter to create different cached copies according to specific values This creates more than one version of the page in the cache based on specific conditions Example The following example demonstrates how to create different copies of cached information based on the _GET parameter language z 7 This sets Caching to create a different copy for each different value of GET language for the content that was cached based on the rules defined in steps 1 and 2 This example demonstrates how to use Caching for multilingual pages that handle the same content in different languages Caching Duration Set the cache duration in seconds After that time the cache is refreshed and a newer version is created For example 600 seconds is ten minutes This completes the last step of creating a Cache Rule Scroll to the bottom of the page Rule Management Caching and click Save to save the rule information and Restart PHP to activate the rule To edit a rule go to Rule Management Caching and click Edit next to the rule you want to edit To clear the information in the cache for a specific rule go to Rule Management
166. er Of OCCUITENCES n 17 OpMaat Aiea ara Aas 103 ODUONS eier r et ete 17 parameters o ciceveedes naiera 17 refreshing 0 2 ceeeeeeeteceeceeeeeeeeteeeeeeneeees 17 reopened rA ee eA 103 rule names ai naain ean 40 TUNES fi isi Bil ha EN 99 152 SEVAY fy ive nite ees 17 Slow Request c cceeeeeeeeeeeeeeteeeeeeees 16 GC EE 16 17 Migger EE 103 TYPOS aieiaa i ae eei a eaaa 40 Ula E EET 17 VIGWING earr iE SEEE EE EEES 103 VIEWING details i eiaeia 16 Events poge aaaea 16 103 EXCEPTIONS Caught 37 exceptions Java 16 exceptions upCauOht eeeeeeeeeeeeeees 37 Extension Status 0 c cccccceseeeeeeeeeeees 52 EXTENSIONS aeli ai re aarete aanak 52 73 aiaa Ea EEE A A AA rere reer preter tr 73 le ln Te TEE 161 COMPILING e eaae ee 161 downloading sseessseessseesseerssrernenns 161 F feature E ai Taaak 9 File downloads AULOMALIC earet aa Seet 93 TT 93 files Dlacklteimg 81 filtering Caieoorles 103 Finding Events 103 Fine Tuning Optimizers 0 ceeeeee 284 UE 54 firewall tunneling ceceeeeeeesteeeeeeeees 89 91 firewall tunneling defining hosts for 91 FUNCTION Error oeoo ani EAn 37 FUNCTIONS MOnItOrINg cecceeeessteeeeeeees 99 functions monitoring MySQL eseeeeees 99 functions waiched 99 G General Layout 14 getting a Zend Server Wcense 9 Guard Loader 145 Guard Loader AP 142 145 H High Memory Usage 37 host Germtssiong 71 Hosts lee EEN 54 C
167. er tabs the changes are kept and are applied when the server restarts Changes are updated in the Components page and in your php ini file Changes are also applied when you manually restart your Web Server 74 Zend Server Reference Manual Configuring Directives Associated with Components J To configure a directive associated with a component 1 Goto Server Setup Components 2 Ifthe component has directives that can be configured a link appears in the directives column Clicking the link opens the Directives page with the relevant directives already filtered 3 Configure the directive as required You can configure multiple directives before you save your changes 4 Click the Save Changes W SSE button to save your changes To discard changes leave the screen without clicking Save Changes Changes will be updated in the Components page and in your php ini file the next time the server restarts Directives of both loaded and unloaded components can be configured through the Components page Actions Actions are additional activities that can be applied to a certain component when necessary The actions are as follows Clear Clears all cached information Data Caching and Optimizer bytecode caching Manage Directs the user to an additional page inside the Administration Interface to manage and fine tune a component The basic definitions that are defined by directives are set by clicking Configure
168. ere we find an object no error handling in this example Srmi new Java javax rmi PortableRemoteObject Shome Srmi gt narrow obj new Java com yourflowers StoreHome store Shome gt create add an order to the bean Sscore gt plece order s Cair client wel Cerf reem sel IN 179 Zend Server Reference Manual print Order placed lt br gt Current shopping cart lt br gt get shopping cart data from the bean SCA enee Eer ee e EEN llaleimie sel foreach cart as item printe Ssiiceim nane s Sateen counil aw Sics prices lt br gt yn release the object Sstore gt remove 2 gt The example code can be understood as follows The code example is written in PHP and forms part of a PHP Web application The PHP application first initializes an operation with the EJB located at a specific URL that has the name yourflowers com 1099 The code then specifies the bean YourflowersBean that the application will look for Next the bean object is returned from the EJB server The application then calls methods in this case the Java application includes two functions place_order receiving two numbers client ID and the item ID to add to shopping cart get_cart receiving one number client ID and returning the list of the items placed in the shopping cart so far After script execution the referenced class may be disposed 180
169. erra neque vel leo fe 1 gt Lorem ipsum dolor sit amet consectetur adipiscing elit Donec viverra neque vel leo fe 2 gt Loren ipsum dolor sit amet consectetur adipiscing elit Donec viverra neque vel leo fe 3 gt Loren ipsum dolor sit amet consectetur adipiscing elit Donec viverra neque vel leo fe 4 gt Loren ipsum dolor sit amet consectetur adipiscing elit Donec viverra neque vel leo fe gt Loren ipsum dolor sit amet consectetur adipiscing elit Donec viverra neque vel leo fay lt gt Zend Studio action Zeng Server is communicating with Zend Studio To view the information switch to Zend Studio Change status to Closed x Change 3 The information will be transferred to the Zend Studio PHP Profile preference where you can run profile and edit the file 315 Zend Server Reference Manual PHP Profile Zend Studio Deax Fie Edt Navigate Search Project Run Window Heb PTS A AE EC E E AKT ES PHP Profie z z In o gt Y General Information Time Division Pie Chart ica 18 URL hetp focahostitest updatesVakdator vakdate php Query ZEND_MONITOR _DISABLE 1 Path var www testiupdatesvabdator vaidate php Total Request Time ms 1340 43 Number of Files 15 Date Tue Feb 09 16 50 45 IST 2010 EI Socket php 1077 6 ms 1 9 EI client php 90 55 ms 6 9 validate php 52 21 ms 4 g Hostname php 50 11 ms 3 8 other 11 44 74 ms DAS do z If this d
170. ersion 4 0 282 zend_codetracing trace_exceptions PHP exception data collection is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing trace_arrays Array contents recording is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing trace_write Output data writing collection is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing trace_headers Output headers collection is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing trace_memory_usage Memory usage data collection is enabled Type boolean Default Value 1 Available since version 4 0 API Reference 283 Zend Server Reference Manual zend_codetracing trace_errors PHP error collection is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing trace_events Zend Monitor event recording is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing always_dump Trace data is always persisted Type boolean Default Value 0 Available since version 4 0 zend_codetracing dump_on_segv Trace data is persisted if fatal signal like Segmentation Fault happens Type boolean Default Value 1 Available since version 4 0 zend_codetracing max_freq Minimum amount of seconds between successive dumps Type integer Default Value 1 Available since versio
171. erver disable_byterange Disables handling byte range requests All requests return an entire file Type boolean Default Value 0 Available since version zend_dserver etag_params The file attributes that are taken as part of an etag Type string Available since version zend_dserver mmap_chunk The size of the data chunks that are read from the file into the socket Type integer Units KBytes Default Value 256 Available since version 223 Zend Server Reference Manual zend_dserver use_sendfile Enable use of sendfile backend It can significantly improve performence Type boolean Default Value On Available since version 224 API Reference Zend Download Server PHP API Table of Contents e Zend Download Server functions o zend send file Outputs the contents of a file to a client using the ZDS and terminates the script o zend send buffer Ouputs the contents of a string buffer to a client using ZDS and terminates the script o Zds get pid Returns the download server s process ID PHP Functions zend_send_file Outputs the contents of a file to a client using the ZDS and terminates the script Description void zend_send_file string filename string Smime_type string Scustom_headers Parameters filename The full path to the file for the download mime_type MIME type of the file The function probes the file using the list in the mime_type file If that fails the file is
172. es 146 153 when tO use 146 data conversion ccccceeeeeeeteeeeeeeeeeetees 85 Debug Event 17 Debugoger AA 54 143 APL iCal dite e Wires ale le A es 89 configuring access s 67 el 142 143 DODUQGING ET 89 allowed hosts ssseeeeeeeenneneeeseeennn ne 89 denied hoets 89 lOC Al TEE 54 let EE 54 89 debugging information sseesseeeeeeeeeeee 152 define allowed hosts for firewall tunneling 91 define passwordS ssseesseeeseresereee essene 8 Denied Zend Studio Clients for Debugging EEE EA E E 89 diretivas urni ai i 80 ACCESSING ratre aoi e i 71 COnfigU InNg seee 52 53 73 78 80 Gata caching sesicriss iaeiei 129 SCAICHING EE 52 VIGWING e eessen ei tages 53 DiP CtiveS n sierra r i 53 directives Information 33 Directories metallaton 5 directory ocaton 32 Disabling Event Hues 99 Disk Shared Memory Coaching 129 download requests redirecting 154 downloading les 93 downloads configuring file types ceeeeeeeeeees 93 Drectives CONFPIQUIING PERTE 71 E Edit Rule Coaching 44 Edit Rule Monitoring 40 editing FUlOS ceeeeeeeeeeeeeeeeteeeeeeteeeeeeees 35 Editing RUES saai 101 ONCIYPLON eion ii ia 55 COMMUNICATION eeeeeeeeeeeteeeeeenteeeeees 55 SS EE 55 Enterprise Edition 2 environment deiaile 32 Error Date aie ae aes 17 error MESSAGES eeeeeeeeeeeeeeeesenneeaeeeeees 178 MEMOTY oplion 129 361 Zend Server Refere
173. esiaeeeenees 348 Zend Controller Cannot Run Benchmark ssssssssssssssiessiesrissrissrinsrinstnnsrinttnnntnnntnnnennntnnnnt 349 Zend Controller Cannot Login 350 Error Failed to Communicate with Zend Studio 0 cccceceeeceeeeeceeeeeeeaeeeeeeeseeeeesaeeseaeeeeaes 351 Windows Zend Server isn t Running Out of The BOX ssssessseessessessseseesssissernnrnnsenensennne 352 viii Table of Contents Windows Zend Server not Loading seesessesseeeesiessresissrisstissstisstisstnntrinttnnnnnnntnnnennnenn nnt 353 Windows Internet Explorer Blocking Zend Gerver 354 Changing the Component s Log Directory cscceeeeeeeeeeeeeeeeeeeeeeeeeeseaeeseeeeeseaeeeeaeeneeeeees 357 WV OX EE 359 Zend Server Reference Manual Overview Zend Server is a complete enterprise ready Web Application Server for running and managing PHP applications that require a high level of reliability performance and security What is Included in Zend Server An up to date tested and supported PHP stack ensures high Business grade PHP ee Be reliability enhances security and increases staff productivity A complete and consistent environment used in development Deployment with l i aa testing and production eliminates many of the problems confidence encountered during deployment Rapid response to Advanced application monitoring and diagnostics enable early problems problem detection and quick root cause analysis Top applicat
174. esssssssssisssisssissrrstnntrnnntnnntnnttnnntnnennnennnenn 2 Quickly Pinpoint Root Cause of Problem 2 Boost Application Performance cccccceececeeeeeeeeeeeeeeeeeeeeeceaeeeeaaeseeeeeseaeeesaaeseeaeeeseaeeeeaeeneaeeee 3 ADOI His ocite sy Auaitincite TEE 4 Installation DireCtones seiccs i aes eee atin an eed erin he a At eve ane 4 What s New in Zend Gerver 5 Password Managemen egiune a E E E A E EA E 6 ELLE 7 SUPPOM SE 10 ee Ee 12 General E e EAE reese tetas ses A ace teas A cal nate oe eaten ete eee 12 Momor Wal EE 13 ae Drettel 13 EISE 14 Event Details ani ccna eines lich EEO vag EER AUE ALERA ETa UE EEN EELA 15 ee EE 18 JOD RI EE 19 COueue Statistics niedeni iniinda EENS de Abi deed 21 Code Tracing DEE 22 Code Tracing Troe iiia iiid eaii aoaaa eaii dee fe Ada 24 Code Tracing Statistics ini eaii iai aia aeii Se Aa teen ted eed 26 Server INO EE 29 ei el Ell e ME 30 Beie EE EN Rule Management Lab eeng ef ce eegne deet EE vote ctudee det velba le dE eevestudes ue AEA NEARE 32 MOMHOTINO KE 32 FRUIG TYPOS TE eene eist eet O EAEE EE EEE E A EEE eene 34 Zend Server Reference Manual Edi Rule MOMKOM oesi ae a E E E a devebbeay 36 Gain EEN 38 elle ul EE 39 e Die lu NIE 42 Edit Rule Job Oueuei nnna 43 le e EE 44 676110 DEI Heed eeben gereest 44 ANE EE 47 tege EE head tees anced eee eeh eeh ere 48 DODUGG EE 49 evt 50 Solo RAEE EEA AE reer rreercs A A A a ee rrsrerreen a herr ererr 53 eu te e TaD SEET 54 Password
175. ettings see Setting a Monitor Rule to Run a Code Trace 114 Zend Server Reference Manual Creating a Job The Zend Server Job Queue component provides the ability to off load script execution using Jobs A Job is in essence a command to execute a PHP script according to the specific parameters you give it The Job Queue component manages the timing and execution of jobs in the system Jobs can be created to facilitate a wide range of situations that require you to asynchronously run PHP code Here are a few examples Action Based Jobs for backend activities which are not a part of the HTTP request response interaction with end users and need to be executed asynchronously Scheduled Jobs that are set to execute according to a predefined schedule One time jobs that need to be run for any reason Improving website performance by offloading processes to a different server Optimizing long script execution by deferring running scripts to low peak times a Unifying script usage by referring to a job script outside the application code instead of repeating the same code for the same functionality This also provides the added advantage of being able to implement changes throughout the application be editing a single script instead of editing each individual instance of the script throughout the application s code Working with The Job Queue API The Job Queue API is a set of functions that allow you to create define and man
176. f the functions of the server parameters including Returns Memory Time ms Workflow The trace displayed in the Zend Server web console functions like a DVD player showing the recorded execution history of the application Users can follow the footsteps of a single problematic request in order to quickly pinpoint the root cause of the problem 1 Manual Workflow The code tracing of a single request can be generated manually through the code tracing page in Zend Server Monitor Code Tracing Figure 1 By executing a request the full application execution is captured and stored in a trace file The captured trace data can undergo collaborative reviewed leaving no need for developers and test engineers to pore over the symptoms of the defect and no room for misinterpretation of the events leading up to the error 2 Event Monitoring Workflow Code tracing in Zend Server has very low performance overhead This therefore enables its use either while running a load test in the lab or while running in production 160 Zend Server Reference Manual By leveraging the Zend Server event monitoring mechanism code tracing can save trace data only when a problem occurs For example when the performance of a checkout process in a web application drops below a predefined threshold Zend Server can send an alert and capture the entire execution of the poorly performing request The combination of knowing that a problem has occurred
177. fication Scope PHP_INI_ALL PHP_INI_ALL PHP_INI_ALL PHP_INI_ALL PHP_INI_ALL PHP_INI_ALL PHP_INI_ALL PHP_INI_ALL API Reference Description Disable reporting of Slow Request Execution events if a Slow Function Execution event was reported Sets the load level to disable Slow Request Execution events for the same request that already triggered a high load event The minimum request execution time for a relativity check The minimum request memory usage for a relativity check The minimum request output size fora relativity check Controls PHP Error event reporting when PHP error reporting is supressed How many requests to run before deviation events are calculated to collect data for the average This is used to calculate averages for relative events How long to wait in seconds before statistics are reset if a request is not called 233 Zend Server Reference Manual Directive zend monitor events rules xml file name zend monitor use fast timestamp zend_monitor event tracing mode zend_monitor aggregate by url query 234 Type string boolean integer boolean Modification Scope PHP_INILSYSTEM PHP_INI_ALL PHP_INI_ALL PHP_INI_ALL Description Event rules XML configuration file Enables fast time sampling which is dependent on CPU cycles and frequency otherwise the directive uses operating system timing which may be less accurat
178. for instructions on how to change your Zend Controller settings according to your operating system Passwords must be between 4 20 characters long This step is also displayed when your license expires or when you reset your password After you define your password the first time you can always change your password from the Administration Interface For more information see Password Management To further secure Zend Server please refer to Securing the Administration Interface 3 You are not required to enter a license to use Zend Server However you must have a valid license to use the complete edition of Zend Server 1 2 To enter without a license mark the Enter without License check box If you have your license details enter them in the Order Number and License Key Fields This information is stored in your zend com account or under the account used for the purchase Zend Server Reference Manual Step 3 of 3 License amp Newsletter Registration Zend Server IT Enter without a license Order number License Key Oh If you do not have a license Click here to see how to get a license IV Notify me of new Zend Server releases and other important updates Email Address D u When attaching a server to Zend Server Custer Manager the Zend Server GUI will be disabled This is to allow Zend Server Cluster Manager the ability to have sole control over settings and configuration i
179. function for more details You cannot change this setting with ini_set when running in safe mode The only workaround is to turn off safe mode or to change the time limit in the php ini Your Web server may have other timeout configurations that can also interrupt PHP execution Apache has a Timeout directive and IIS has a CGI timeout function Both default to 300 seconds See your Web server documentation for specific details 298 Zend Server Best Practices Name Recommended Value Zend Server Default Description memory_limit 128M 128M Sets the maximum amount of memory in bytes that a script can allocate This helps prevent poorly written scripts from consuming all the available memory on a server This setting can also be fine tuned during development to reach an optimal setting When an integer is used the value is measured in bytes Note To have no memory limit set this directive to 1 output_buffering 4096 4096 Allows you to buffer the PHP output instead of having it sent directly as soon as it is generated 299 Zend Server Reference Manual Security In the Security section you will find information on how to configure and optimize the Zend Server and components to function more securely This document includes information on the following information 300 Allowed Hosts This section describes the Allowed Hosts lists and offe
180. g Intemet Explorer This is a security message prompting you to add Zend Server to the trusted sites zone This procedure describes how to add Zend Server to the trusted sites zone in Internet Explorer 7 running on Windows 2008 Server To adda Web site to the Trusted sites zone SR 1 Go to Tools Internet Options 2 Click to display the Security tab 3 Select Trusted Zone and then Sites 4 Click Add to include Zend Server as a trusted site 5 Click Close and then OK to save the changes and close the dialog Zend Server will now be added as a trusted site and the message will not appear Depending on your security settings you may only see the following message 354 Zend Server Best Practices Server Your browsers JavaScript must be enabled to use the Administration Interface This also indicates that Zend Server is not a trusted site As soon as the site is added to the trusted zone this message is no longer displayed 355 Zend Server Reference Manual Windows IIS URL Rewrite Setup A rewrite engine does not come standard with IIS If you haven t done so already you will have to download and install one There are several online resources that can help you set this up Zend Framework users should see http framework zend com wiki display ZFDEV Confiquring Your URL Rewriter For Microsoft s URL rewrite module for IIS 7 0 see http learn iis net page aspx 460 using url rewrite module 356 Ze
181. g on the resources available to you you either have a different server that is dedicated to servicing the web or a cluster of servers that are managed with a load balancer In both cases a firewall or some other protection is necessary An additional option is to have your application run from a Web Hosting company Once your code is in its dedicated location you will have to support the code so you will need to establish a way to upload files for purposes of issuing updates and fixing bugs or security threats At this point if you have been locally debugging your code with Zend Studio you can now change your settings to remote debugging if there is a firewall between you and your application s files you will need to use tunneling in order to debug through a firewall Zend Studio users can also benefit from Remote Server support for uploading and synchronize your code 335 Zend Server Reference Manual IIS Best Practices In the IIS Best Practices section you will find information on how to configure and optimize IIS and to increase performance This document includes information on the following information IS Configuration Optimization Tuning adjustment to optimize the FastCGI configuration for IIS6 and IIS7 Configuring IIS Timeouts 336 Zend Server Best Practices IIS Configuration Optimization When moving from Zend Core to Zend Server on IIS Microsoft s FastCGI is used instead of the Zend s FastCGI therfore the sett
182. ge Added extensions that are not part of the original Zend Server list of extensions cannot be configured on the Extensions page 70 Zend Server Reference Manual Working with Logs The Logs page is a log viewer for developers to view log information directly from the Administration Interface From this page you can view filter navigate and refresh logs Advanced users can also add logs to the list of logs to display in the Log View list View a Log This procedure describes how to view a log file H To view a log file 1 Go to Monitor Logs 2 Select a log from the View Log list 3 The log information is displayed in the main display area Use the Show option Show ines located below the main display to determine how many lines to display To use this option enter a number between 5 and 200 and click Go to apply the setting Filter Log Information This procedure describes how to filter a log file to fine tune the information to display specific results H To filter a log file 1 Select a log to display 2 Goto the Filter area and enter the text to use for the filter You can use any text 3 Click Refresh or Find The results are displayed in the main display area To run another query change the text in the Filter area and click Refresh There is no need to display the complete log again 71 Zend Server Reference Manual Navigate Inside a Log This procedure describes the different navigation op
183. gement Caching 128 Zend Server Reference Manual Data Cache API The Data Cache API is a caching option that is integrated into Zend Server In terms of value the option provides high performance in memory caching As it is integrated into Zend Server you also gain a certain amount of control such as the ability to turn on off the component and manually clear the cache with a click of a button The Data Cache API is designed with an APC compatibility layer ensuring that extendibility with most APC compatible applications How it works Zend Data Cache is a set of API functions enabling a developer to store and manage data items PHP strings arrays and other data and even output elements in either disk based cache or shared memory cache Zend Data Cache allows for precision guided caching when Page Caching is not an option The provided API is easy to use on existing code and in many cases a developer can skip existing code sections by simply wrapping them with caching APIs Page Caching Page Caching is ideal for cases when you want to avoid programmatic intervention to implement configure and manage caching capabilities The integration into Zend Server allows complete control over the caching activity and with relative ease you can add remove and change caching rules as well as empty the cache with a click of a button How it works Zend Page Cache allows caching of entire PHP web pages or more correctly put entire HTTP re
184. ges Zend Server also provides the ability to cache content using the Zend Data Cache API To read more about the Data Cache see Working with the Data Cache From this page you can Filter Search for a specific rule by name Add Rule Add a new rule to the Caching page Each new rule is applied after restarting PHP Delete Rules A multi selection for deleting redundant or unused rules Clear Cache for Selected A multi selection for clearing the cache for specific rules For each Rule you can Edit Open the rule for editing to modify settings by clicking on the rule To create a rule based on an existing rule s settings open the rule change the settings and use the Save As option to create a new rule 38 Edit Rule Caching The Edit Rule page is accessed from Rule Management Caching by clicking or by clicking Edit next to a specific rule SaveAs Cancel Rule Name Il Caching Conditions Zend Server Reference Manual Add Rule Clear Cache Delete Cache If URL is exactly el http Ikilkj WI And also No further conditions on query string Multiple Versions of Cached Pages Create compressed cache copies Create a separate cached page for each value of Entire query string M Remove Add Parameter Duration of Caching Cache for 5 seconds SaveAs Cancel Caching Information Add Condition Rul
185. ges made in the Extensions Components and Directives pages will be automatically updated in your php ini file and will be reflected in the PHP Info page Configuration changes will only take effect once you PHP has been restarted by clicking Restart PHP More information about the PHP Info display can be found in the PHP Manual accessed by going to PHP Options and Information External Link Zend Server Reference Manual Logs The Logs page is accessed from Monitor Logs The Logs page is a means for developers to view log information directly from the Administration Interface This information can be used to investigate unwanted activity in your environment in terms of errors and application behavior The logs displayed in this page consist of the system logs as determined by the type of Web server you use Apache servers include three logs PHP Error log Apache Error log and Server Access log all of which reference the installation locations except for the PHP Error log which comes from the error_log directive IS servers include the PHP Error log Power users can edit the XML file to include additional logs For more information on adding logs to the Logs page see Working with Logs From this page you can View Logs Filter Logs Navigate inside a log Add Logs 31 Zend Server Reference Manual Rule Management Tab Monitoring Monitoring Rules are defined and activated in Rule Management
186. gine to execute the Java code The Java Bridge executes the script and returns the results to the Zend Engine Zend Server includes the Java Bridge PHP Extension and the ability to restart the Java Bridge and configure the Java Bridge settings from Server Setup Components The Java Bridge is an optional component that is installed differently depending on the operating system WIN UNIX and the installation method format EXE DEB RPM Once the extension is installed and its status is On PHP code can use the Java Bridge API to call Java objects The process of calling Java objects in PHP is described in the following diagram 149 Zend Server Reference Manual Web Server Apache lIS Runs a PHP Scripts that calls a Java Class Zend Engine JVM renders the Java lt contacts the Java side and returns to the a new java Bridge Server Zend Engine gt FRE Web Server Apache llS Engine running inside Java Bridge running as a eb server Daemon Windows Service Java Bridge Running on its own JVM Advantages The Zend Java Bridge provides the following advantages J2EE application servers can be extended to include the advantages that PHP offers relative to other Web enablement languages such as reduced development time reduced time to market lower TCO Total Cost of Ownership etc PHP centric companies can take advantage of J2EE services that are not present in scripting languages T
187. global namespace Available since version 4 0 Description mixed zend_disk_cache_fetch mixed Skey Parameters key The data key or an array of data keys Optional for key s name prefix with a namespace Return Value FALSE if no data that matches the key is found else it returns the stored data If an array of keys is given then an array which its keys are the original keys and the values are the corresponding stored data values zend_shm_cache_delete Finds and deletes an entry from the cache using a key to identify it The key can be prefixed with a namespace to indicate that the key can be deleted within that namespace only If a namespace is not provided the Data Cache searches for the key in the global namespace Available since version 4 0 Description boolean zend_shm_cache_delete mixed Skey Parameters key The data key or an array of data keys Optional for key s name prefix with a namespace Return Value TRUE on success FALSE on failure 211 Zend Server Reference Manual zend_disk_cache_delete Finds and deletes an entry from the cache using a key to identify it The key can be prefixed with a namespace to indicate that the key can be deleted within that namespace only If a namespace is not provided the Data Cache searches for the key in the global namespace Available since version 4 0 Description boolean zend_disk_cache_delete string Skey Parameters key The data key or an array of dat
188. gs requires that you view and access backend application files which in normal circumstances should not be changed For this reason we request that you perform this task only if you clearly understand the instructions If for some reason the system does not load or malfunctions please re install Zend Server Power users may edit the XML file in qui application data logfiles xml to add as many logs as they may have J To add log files to the list 1 Open the file lt install_path gt gui application data logfiles xml 2 Add the name and location full path of the log files in the same format as the existing files and save 3 Restart your PHP 73 Zend Server Reference Manual Working with Components The Components page provides a convenient way to view and configure the Zend Components installed in your environment Use this page to control and configure components loaded in your environment Changing Component Status To change a component s status SR 1 Goto Server Setup Components 2 Select a component and click the link in the Actions column to turn the component on or off 3 After changing the component s status a message appears prompting you to click the Restart Server button at the bottom of the screen AE More than one component can be loaded or unloaded before you click Restart Server All the changes made prior to restarting the PHP are applied when the server restarts Even if you navigate to oth
189. he PHP Java Bridge provides the ability to interact with plain Java objects The Java Bridge operates without the overhead of a JVM for each Apache process The Java Bridge consumes a set amount of memory that is disproportionately small relative to the amount of activity that it handles 150 Zend Server Reference Manual Zend Framework Zend Framework is a high quality open source framework for developing Web applications and Web services with PHP Built in the true PHP spirit the Zend Framework delivers ease of use and powerful functionality It provides solutions for building modern robust and secure websites Zend Framework Resources All the developer resources can be found at http framework zend com Why Zend Framework Taken from http framework zend com whyzf overview Extending the art and spirit of PHP Zend Framework is based on simplicity Object oriented best practices corporate friendly licensing and a rigorously tested agile code base Zend Framework is focused on building more secure reliable and modern Web 2 0 applications and Web services and consuming widely available APIs from leading vendors like Google Amazon Yahoo and Flickr as well as API providers and cataloguers like Strikelron and ProgrammableWeb Expanding on these core themes we have implemented Zend Framework to embody extreme simplicity and productivity the latest Web 2 0 features simple corporate friendly licensing and an agile w
190. he Zend Framework pre configured stack that includes all the system components for developing Web applications with PHP and how to load Zend Framework s classes in your scripts Configuring Zend Framework This section presents the advantages of port based virtual hosts and describes how to configure Zend Server to run Zend Framework projects in a development environment using port based virtual hosts Debugging This section offers suggestions on improving the debugging process a Profiling This section describes how to detect bottlenecks in your application using the Profiler and Zend Server Advanced Diagnostics with Zend Server This section presents suggestions to help diagnose problems by event rules 309 Zend Server Reference Manual Working with Zend Framework Zend Framework users who deploy Zend Server will benefit from a pre configured stack that includes all the system components for developing Web applications with PHP The Zend Framework files are placed in Windows lt install_path gt share ZendFramework RPM DEB lt install_path gt share ZendFramework Loading Zend Framework Classes There are two ways to load Zend Framework s classes in your script 1 Using the Zend Loader The Zend Loader utility class checks whether the class already exists within the script If it does it will create the relevant file from the class name using Zend Framework s naming convention See http framework zend
191. he cache using a key to identify it The key can be prefixed with a namespace to indicate that the key can be deleted within that namespace only If a namespace is not provided the Data Cache searches for the key in the global namespace zend shm cache clear Deletes all entries from all namespaces in the cache if a namespace is provided only the entries in that namespace are deleted zend disk cache clear Deletes all entries from all namespaces in the cache if a namespace is provided only the entries in that namespace are deleted API Reference PHP Functions zend_shm_cache_store Stores a variable identified by key into the cache If a namespace is provided the key is stored under that namespace Identical keys can exist under different namespaces Available since version 4 0 Description boolean zend_shm_cache_store string key mixed Svalue int Seel i Parameters key The data s key Optional prefix with a namespace value Any PHP object that can be serialized ttl Time to live in seconds The Data Cache keeps an object in the cache as long as the TTL is not expired Once the TTL is expired the object is removed from the cache The default value is 0 Return Value FALSE if cache storing fails TRUE otherwise 209 Zend Server Reference Manual zend_disk_cache_store Stores a variable identified by a key into the cache If a namespace is provided the key is stored under that namespace Ident
192. he does not require any code changes and can be easily applied to existing applications Moreover while other caching solutions still run some code on recurring executions the cache does not run any code to display the cached content which results in improved performance Creating URL cache rules with Zend Server is a two step process In step one you define the basic URL and conditions to apply In step two you define the cache duration and output options The following procedure describes how to create a cache rule Click here to see how to create a copy of a cache rule E To create a Cache rule 1 Goto Rule Management Caching Click Add Bue to open the New Rule page Name the rule Make sure the name is descriptive and easy to remember This name will appear in the main Caching page 4 Enter the information according to the following steps and click Save to apply the changes Caching Conditions 1 Use the fields to define the URL that you want to cache A URL can be an exact URL or a representation of a pattern of URLs using Regular Expressions external link which can be either case sensitive or case insensitive 134 Zend Server Reference Manual Example Exact URL Cache If URL is exactly el http el s lwwwzend com i in This representation sets the Page Cache to cache the URL http www zend com index only URL pattern using Regular Expressions Cache If URL matches RegEx el http e J G
193. his page you can change your login password and update your license Updating your License You are not required to enter a license to use Zend Server However you must have a valid license to use the complete edition of Zend Server How do I get a license If you do not currently have a valid license go to the licensing page to find out how to get a license http www zend com en products server license already have a license what do I do If you have already purchased a license you should have received a confirmation e mail that includes your Order number and License key H To enter a License 1 Go to Administration Password and License 2 Inthe Update License area enter the Order number and License key that were included in your confirmation email 3 Click JD License to apply the changes 4 Click Restart PHP Zend Server will start to run in a fully functional mode 54 Zend Server Reference Manual License Expiration The Password and License page displays your order number and expiration date In addition before your license expires a notification is displayed at the bottom of the Administration Interface telling you how long you have left until your license expires and where to go to renew your license Once a license expires Zend Server reverts to the Community Edition mode until a new license is entered During this time all the licensed features are unavailable However their settings
194. hoose not to install phpMyAdmin If you decide to install phpMyAdmin a separate version is installed and the existing phoMyAdmin configurations are retained The default location is lt install_dir gt phpMyAdmin The default authentication is user root and without a password A link to this phpMyAdmin installation is added in the Zend Server dashboard If you already have MySQL If you have a local installation of MySQL it will be automatically detected during the installation process If you want to set phoMyAdmin to a remote MySQL server running on a separate machine see the phpMyAdmin online documentation Apache Note When running phpMyAdmin on Apache the URL is case sensitive If you don t have anything phpMyAdmin or MySQL When you install Zend Server you can use the full or custom installation types to choose to install phpMyAdmin and MySQL Both phoMyAdmin and MySQL are installed on your local machine under the default location lt install_dir gt phpMyAdmin and lt install_dir gt MySQL A link to the phpMyAdmin installation is added in the Zend Server Dashboard 142 Zend Server Reference Manual Reference Information This section contains reference information for PHP developers Here you will find information about using the Java Bridge the extensions included in this release and other system related information The list of extensions provides an overview of all the extensions that are included and their sta
195. ical keys can exist under different namespaces Available since version 4 0 Description boolean zend_disk_cache_store string Skey mixed Svalue int SEI jl Parameters key The data key Optional prefix with a namespace value Any PHP object that can be serialized ttl Time to live in seconds The Data Cache keeps objects in the cache as long as the TTL is not expired Once the TTL is expired the object is removed from the cache The default value is 0 Return Value FALSE if cache storing fails TRUE otherwise zend_shm_cache_fetch Fetches data from the cache The key can be prefixed with a namespace to indicate searching within the specified namespace only If a namespace is not provided the Data Cache searches for the key in the global namespace Available since version 4 0 Description mixed zend_shm_cache_fetch mixed Skey Parameters key The data key or an array of data keys Optional for key s name prefix with a namespace Return Value FALSE if no data that matches the key is found else it returns the stored data If an array of keys is given then an array which its keys are the original keys and the values are the corresponding stored data values 210 API Reference zend_disk_cache_fetch Fetches data from the cache The key can be prefixed with a namespace to indicate searching within the specified namespace only If a namespace is not provided the Data Cache searches for the key in the
196. icense area Click Peale License to apply the changes Zend Server will start to run in a fully functional mode License Expiration Before a license expires a notification is displayed at the bottom of the Administration Interface telling you how long you have left until your license expires and where to go to renew your license Once a license expires Zend Server reverts to Community Edition mode until a new license is entered During this time all licensed features are unavailable However their settings are kept and are restored along with the functionality when a new license is entered Zend Server Reference Manual Support Zend Technologies provides a wide range of resources for obtaining additional information and support such as the Zend Support Center the Zend Newsletter and the Zend Developer Zone Zend Support Center The Zend Support Center is a portal for information on all Zend Product related issues From the Zend Support Center you can access Zend Forums Hosted user forums for the Zend product user community See what other users have to say and get answers directly from the Zend Support team Visit http forums zend com Zend Support Knowledge Base The Zend Knowledge Base contains an extensive range of articles on commonly encountered problems troubleshooting tips and work arounds Search the Knowledge Base for any Zend product related issue at https Awww zend com en support knowledgebase ph
197. id not work see if one of these troubleshoot options help 316 Zend Server Best Practices Advanced Diagnostics with Zend Server The information contained in an Issue Monitor Events is geared towards analyzing and resolving all sorts of problems that are common to running Web Applications in PHP Based on the type of rule on which triggered an issue you can immediately begin to start solving the issue The first step is to make sure that the issue was genuinely generated To do this consider one of the following 1 Is this a real error or should the Monitor Rule parameters be modified thresholds functions list etc 2 Can I use the monitor API to solve this problem i e identify the problem as a known issue to be ignored so that no additional events will be added to the issue 3 Is the detected behavior accepted behavior for the specific situation time script load etc that should be ignored 4 Use the Administration Interface to manage issues by changing the Status to Ignored All events that happen and are aggregated to that issue will still be monitored but the issue will stay ignored 5 Use URL Tracing to collect further information Once you have established that the issue represents a real problem you can start to handle the issue Use the links below to drill down by type of rule for suggestions that can help diagnose problems Rule names in this page are in their basic form without the severity or reference t
198. ies uncaught Java exceptions and provides Java related backtrace information including which part of the PHP code triggered the error Severity Critical a Custom Event This unique event rule is used to initiate events from a PHP script Custom events control event generation in contrast to other events which are triggered by specific occurrences Custom events are used to generate an event whenever the API function monitor_custom_event is called from the PHP script Severity Warning PHP Error PHP Error rules identify all types of PHP errors including hard errors that cause stops in page execution warnings that interrupt the end user experience and notices that could lead to larger problems This type of event rule is useful in QA processes to identify problems that may have gone unnoticed during production Production environments can benefit from using this PHP intelligence feature to alert administrators to application runtime errors that could seriously impact the end user s experience Severity Warning and Critical Job Execution Error This event is generated when a job could not run Job Logical Failure This event is generated when a job reports a logical failure Job Execution Delay This event is generated when job execution is delayed by x seconds from the planned start time that was defined in the job The delay time is defined in the Job queue settings page Server Setup Job Queue Job Queue High Concurrenc
199. ince version 5 0 Description void ZendJobQueue _ construct string Squeue Ji Parameters queue This can be one of 1 No value specified the default binding will be used 2 A named queue as defined in the named queues directive In such a case the client will connect to the binding specified by the directive and the application name used will be the value provided 3 A literal binding URL the URL will be used to connect to the daemon directly and no application name will be defined 4 If a string is provided which does not match a binding URL format and has no alias defined for it an exception will be thrown The default value is taken from default_binding directive ZendJobQueue createHttpJob Creates a new URL based job to make the Job Queue Daemon call given script with given vars Available since version 5 0 Description int ZendJobQueue createHttpJob string url array Svars mixed Soptions Parameters url An absolute URL of the script to call vars An associative array of variables which will be passed to the script options An associative array of additional options The elements of this array can define job priority predecessor persistence optional name additional attributes of HTTP request as HTTP headers etc The following options are supported name Optional job name priority Job priority see corresponding constants predecessor Integer predecessor job id persistent Boolean ke
200. ings and configurations are in a different location For more information per IIS version see below Tuning FastCGI Configuration for IIS6 These performance enhancements are defined by default when you install Zend Server By default Zend Server runs with a maximum of ten concurrent PHP instances For high load Web servers it is recommended to increase this value based on your performance requirements and other hardware software limitations Such as memory CPU etc E To control the maximum amount of concurrent PHP instances 1 Go to C WINDOWS system32 inetsrv fcgiext ini 2 Locate the entry for php under Types 3 Locate the section corresponding to this entry usually under PHP 4 Append the following line at the end of this section MaxInstances 10 This will enable Zend Server to run ten PHP instances for high loads If you have lots of memory and high loads you can increase this value even more B To control the amount of requests handled by a single PHP instance before recycling 1 Go to C WINDOWS system32 inetsrv fcgiext ini 2 Locate the entry for php under Types 3 Locate the section corresponding to this entry usually under PHP 4 Append the following line at the end of this section InstanceMaxRequests 1 0000 This will allow a single PHP instance to handle 10 000 requests instead of the default 1 000 If you set this number higher make sure you increase the value of PHP_FCGI_MAX_REQUEST
201. inux The administration Interface runs on a dedicated lighttpd Web server To secure access to the Administration Interface edit your lighttpd configuration file in one of the following ways 1 To only allow access from localhost replace your lighttpd conf with the pre configured file called lighttpd conf localonly that is in the same directory 2 To limit access to specific IP addresses open your lighttod conf and add the IP addresses as follows Sne Vesmeeeio l T1O 1 2 163101 6 46 127 0 0 1 1 Sarre wri wee This example shows how to allow access from 10 1 2 163 10 1 6 46 and localhost and deny the rest You can also do ZendServer url access deny Se Vseemocexjo le YAO 2 163 10 1 6 127 0 0 1 Siri mel ZendServer url access deny This means that you allow access from 10 1 2 163 10 1 6 46 127 0 0 1 localhost and hosts from 10 1 6 0 and deny the rest 3 After applying the changes to your configurations restart the lighttpd server with the command lt install_path gt bin lighttpd sh restart or alternatively lt install_path gt bin zendctl sh restart lighttpd For additional resources and information on Lighttpd see C https calomel org lighttpd html 302 Zend Server Best Practices Windows There are a few precautions you can take in order to secure your connection B secured using SSL connection a certificate is needed by 3rd pa
202. inux Tarball lt install_path gt apache2 conf httpd conf 2 Un comment the following line by removing the Include conf extra httpd ssl conf This calls the SSL configuration file 3 Place your server crt and server key certification files in the conf folder 4 Restart the Apache server for the changes to take effect The mod_ssl module is loaded 176 Zend Server Reference Manual Forever Times realizes that a PHP based Web implementation that handles Java requests a Java Bridge is their best bet At the same time they are concerned that the performance of their Website remains optimal To Forever Times horror in testing the new application they find that loading the site with user requests for the Stock Ticker slows down the performance of the whole website The following code example illustrates how the Java Bridge applies to this business scenario and others like it n Example lt create Java object Sstock new Java com ticker JavaStock LEE Snews Sstock gt get_news _GET ticker display results foreach news as Snews_item print Snews_item lt br gt n RS The example code can be understood as follows The code example is written in PHP and forms part of a PHP Web application The PHP code creates the Java object com ticker JavaStock which is the PHP proxy Requests come into the PHP based Website ForeverOnline com which then references the St
203. ion Search for a specific job by name Add a new job to the Recurring Jobs page Each new job is applied after restarting PHP Temporarily stop the job from running while still saving the job definitions Settings are applied after restarting PHP Un suspend a job Settings are applied after restarting PHP A multi selection for deleting redundant or unused Rules Open the Rule for editing to modify settings To Edit a job click on the Job s ID in the Job table View the details of each time the job ran Instructions Enter at least 2 characters of the name of the job into the Filter field to start filtering the list of jobs by name See Creating a new job Select one or more jobs from the list by clicking the check box next to the job and click Suspend Select one or more jobs from the list that were suspended and click Resume suspended jobs are grayed out and have the word suspended in brackets next to the Job Name Select one or more Jobs from the list and click 77 To edit a rule click on the rule s ID number to view the rule in edit mode Make sure to click Update Rule after making the changes To view a Job s history click on the History link next to a job in the Job table s Actions column The Jobs page Monitor Jobs will be displayed Zend Server Reference Manual Managing Job History The Jobs page is accessed from Monitor Jobs the Jobs page displays information on all
204. ion Built in optimization and acceleration ensures high performance performance and low resource utilization Code Tracing Solve Problems Faster Than Ever Finding the root cause of problems especially when they occur in the production environment is a time sink for developers and system administrators Zend Server 5 0 applies the concept of a black box flight recorder to PHP It can record live application execution in testing or production helping you quickly pinpoint bugs and performance bottlenecks in your code Job Queue Offload Execution of Long running PHP Scripts Web applications generally follow the synchronous communication paradigm however some tasks are better suited to asynchronous execution Long running report generation order processing database cleanup and pulling of RSS feeds are some examples of jobs that can be executed asynchronously Zend Server 5 0 incorporates Job Queue providing full support for creating executing and managing jobs to optimize application performance and reduce server load A Web Application Server for Your Application If you re developing or running a business critical PHP application on a couple of servers Zend Server is the right solution for you In cases where your application runs on a large number of servers or if you require session clustering or a job queue Zend Platform Enterprise Solution could suit your need Zend Server Reference Manual Enhance PHP Application
205. ion_level Returns the current obfuscation level support set by zend_optimizer obfuscation_level_support to get information on the product that is currently running Available since version 4 0 Description int zend_current_obfuscation_level void Return Value Current obfuscation level 202 API Reference zend_runtime_obfuscate Start runtime obfuscation support to allow limited mixing of obfuscated and un obfuscated code Available since version 4 0 Description boolean zend_runtime_obfuscate void Return Value TRUE if succeeds FALSE otherwise zend_obfuscate_class_name Obfuscate and return the given class name with the internal obfuscation function Available since version 4 0 Description string zend_obfuscate_class_name string Sclass_name Parameters class_name Name of the class to obfuscate Return Value Returns the obfuscated form of the given string 203 Zend Server Reference Manual zend_get_id Returns an array of Zend host IDs in your system If all_ids is TRUE then all IDs are returned otherwise only IDs considered primary are returned Available since version 4 0 Description array zend_get_id boolean Sall_ids false li Parameters all_ids If all_ids is TRUE returns all IDs otherwise returns only IDs that are considered primary The default value is false Return Value Array of host IDs zend_loader_version Returns Zend Guard Loader version Available since
206. ions in Queued Jobs to create an createHtipJob job using the API 2 Pass the schedule option as part of the options parameter to describe the recurrance schedule The schedule option is a CRON like expression that consists of string with 5 fields separated by spaces The fields define the minute hour day of month month and day of week in this order in which the job will run In each field you can use one of the following notations A single number with valid ranges listed below Ow An asterisk to designate any e g to run a on every day of the month put in the Ath field A comma separated list of values e g to run a job on Sundays Tuesdays and Thursdays put 0 2 4 in the 5th field An interval specified by in where n is the interval e g to run a job every 2 hours use 2 in the2nd field To be accurate this means on every hour that evenly divides by two meaning 2 4 6 i Example The following example represents a job that will run every day at 3 15am Sjob Sjgq gt createHttpJob http localhost jobs feed 405 null array selnechiile Yi Sos wl 119 Zend Server Reference Manual Ranges for each field Field Comments Minute Hour In 24 hour format where 0 is midnight Day of 29 30 and 31 will only work for months of that length Month Month Day of ae Sunday is either 0 or 7 Week One Time Deferred Tasks jobs This pro
207. ire those location for diagnosing the reason an event occured Only events of the same type are aggregated The collected information is viewed in the Zend Server Administration Interface Available since version 4 0 Description void zend_monitor_set_aggregation_hint string Shint Parameters hint aggregation hint string Return Value zend_monitor_event_reporting Enables or disables the event reporting of some event types by passing a bit mask as done by PHP s error_reporting function but with the constants listed above in ZEND MONITTOR EI Note You cannot enable events that are disabled in the Event Rules file Available since version 4 0 Description int zend_monitor_event_reporting int Snew_error_reporting ial Y Parameters new_error_reporting The new error reporting level to use The default value is null Return Value The previous error_reporting level or FALSE if there is an error 251 Zend Server Reference Manual Zend Monitor Ul extension PHP API Table of Contents e Zend Monitor Ul extension functions o zend monitor delete old issues Delete old issues from the Zend Monitor database and daemon cache PHP Functions zend_monitor_delete_old_issues Delete old issues from the Zend Monitor database and daemon cache Available since version 5 0 Description array zend_monitor_delete_old_issues int Sexpiration_days int Sexpiration_days_closed Parameters expiration_days All issue
208. is active Type boolean Default Value 0 Available since version 4 0 zend_optimizerplus inherited_hack The Optimizer stores the places where DECLARE_CLASS opcodes use inheritance These are the only opcodes that can be executed by PHP but which may not be executed because the parent class is missing due to optimization When the file is loaded Optimizer tries to bind the inherited classes by using the current environment The problem with this scenario is that while the DECLARE_CLASS opcode may not be needed for the current script if the script requires that the opcode at least be defined it may not run The default for this directive is disabled which means that optimization is active Type boolean Default Value 1 Available since version 4 0 zend_optimizerplus dups_fix Enable this hack as a workaround for duplicate definition errors Type boolean Default Value 0 Available since version 4 0 zend_optimizerplus log_verbosity_level All Optimizer errors go to the Web server log lt br gt By default only fatal errors level 0 or errors level 1 are logged You can also enable warnings level 2 info messages level 3 or debug messesges level 4 lt br gt For debug binaries the default log verbosity level is 4 not 1 Type integer Default Value 1 Available since version 4 0 192 API Reference zend_optimizerplus memory_consumption The Optimizer shared memory storage size The amount of memor
209. is component stores information and Cache Scripts that include the Data Cache therefore has an additional action for API can run clearing information Off Disables the Data Cache Scripts that include the Data Cache API cannot run Zend On Activates the Debugger for local The Debugger requires that you enter a Debugger and remote debugging with Zend list of IP addresses to allow deny or Studio permit remote debugging through a Off Disables the Debugger and firewall therefore it has an additional does not permit debugging from Zend option for adding Allowed Clients Studio Zend On The specified file extensions can This component is not relevant for Download off loaded to a separate server Windows OS users Server Off All file downloads are handled by the same Web server that runs the PHP Zend Guard On Scripts encoded with Zend Loader Guard run Off Scripts encoded with Zend Guard cannot run Zend Java On The Java Bridge runs Scripts This component can be restarted Bridge containing the Java Bridge API can run Off The Java Bridge stops running Scripts containing the Java Bridge API cannot run 45 Zend Server Reference Manual Component Status Comments Zend Job On Activates the job queue only If you are using the Job Queue API in Queue when this component is on will Jobs your code always make sure that this run This includes all Jobs either configured from the UI or by u
210. is in the ease of running several isolated applications on the same Web server This overall solution allows developers working on a Zend Framework project in Zend Studio to immediately test any code changes locally C The following procedure uses instructions suitable for Zend Studio for Eclipse and the Apache bundled with Zend Server A similar procedure with some modifications can apply for other IDEs and web servers To configure Zend Server to run a Zend Framework application LJ 1 Create a new Zend Framework project If you have not already done so create a new Zend Framework project using the New Zend Framework Wizard in Zend Studio for Eclipse 2 Define a virtual host on Zend Server that will point to the new project s public directory a Find the full path to your project s public directory In Zend Studio for Eclipse go to the project browser and right click on the public directory from the menu choose Properties The full path is listed in the Resource Tab s location field b Open your Apache configuration file in most cases it will be httpd conf and located in your Apache installation directory Where is my Apache configuration file c Go to the end of the file and add the following section Listen 10089 lt Walmetiellsosie s 100839 DocumentRoot DOCUMENT_ROOT lt Directory DOCUMENT_ROOT gt Order allow deny Allow from all AllowOverride all lt Directory gt lt VirtualHost gt 312 Zend Server
211. itial installation of Zend Server compatible for a large selection of environments However this also can be a security risk as you are permitting a wide range of IP addresses to access your Web server Therefore we recommend that you limit accessibility and create a secure environment by only using specific hosts full IP address recognized by you that you are sure you want to permit to connect To change this value in the Administration Interface go to Server Setup Debugger remove all the IP range settings and set the specific IP s that you permit to connect to Zend Server Depending on if you are working on a development or production environment you may want to consider different defaults In development environments all the machines that require access to debug should be allowed In production environments it is safer to limit access or even allocate a single machine to allow access Not only will this make your environment more secure it may also help limit and prevent unnecessary traffic on your production server 306 Zend Server Best Practices Monitor Security Blacklist When capturing event context Zend Monitor will save the values of all PHP super globals POST GET SESSION etc in the event database and will present these values in event reports Sometimes it is unwise to store and present some values for example passwords or credit card numbers and other private information Zend Monitor allows you to filter
212. itor_event_reporting ZEND_MONITOR_ETBM_ZEND_ERR Zend PHP Error Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_JAVA_EXP Unhandled Java Exception Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_JQ_JOB_EXEC_ERROR Job Queue Job Execution Error Event Type Bitmask ZEND_MONITOR_ETBM_JQ_JOB_LOGICAL_FAILURE Job Queue Job Logical Error Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_JQ_JOB_EXEC_DELAY Job Queue Job Execution Delayed Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_JQ_DAEMON_HIGH_CONCURRENCY_LEVEL Job Queue Daemon High Concurrency Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_ET_TRACER_FILE_WRITE_FAIL Tracer Failed to write a dump file Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ET_JQ_JOB_EXEC_ERROR Job Queue Job Execution Error Event Type Bitmask ZEND_MONITOR_ET_ JQ _JOB_LOGICAL_FAILURE Job Queue Job Logical Error Event Type 248 API Reference ZEND_MONITOR_ET JQ JOB EXEC DELAY Job Queue Job Execution Delayed Event Type ZEND_MONITOR_ET_JQ_DAEMON_HIGH_CONCURRENCY_LEVEL Job Queue Daemon High Concurrency Event Type ZEND_MONITOR_ET_TRACER_FILE_WRITE_FAIL Tracer Failed to write a dump file Event Type ZEND_MONITOR_ET_ZSM_CONFIGUATION_MISMATCH ZSM Configuration is not matching the cluster ZEND_MONITOR_ET_ZSM_N
213. izerplus blacklist filename string PHP_INI_SYSTEM Optimizer blacklist file If disabled all PHPDoc comments are dropped from the code to reduce the size of the optimized code If enabled a fast shutdown sequence is used for the accelerated code A bitmask where each bit enables or zend_optimizerplus optimization level integer PHP_INI_SYSTEM disables the appropriate Optimizer passes Enables or disables the optimization passes that may take significant time based on an internal runtime calculation zend_optimizerplus save_ comments boolean PHP IN SYSTEM zend_optimizerplus fast_ shutdown boolean PHP_INI_SYSTEM zend_optimizerplus enable slow optimizations boolean PHP_INI_LSYSTEM External Configuration File Optimizer blacklist file The Optimizer blacklist file is a text file that holds the names of files that should not be accelerated The file format is to add each filename to a new line The filename may be a full path or just a file prefix Le var www x blacklists all the files and directories in var www that start with x Files are usually triggered by one of the following three reasons lt br gt 1 Directories that contain auto generated code like Smarty or ZFW cache lt br gt 2 Code that does not work well when accelerated due to some delayed compile time evaluation lt br gt 3 Code that triggers an Optimizer bug 190 API Reference Configuration Directive Details zend_optimizerplus enable Opti
214. l ly md Hass tame 10 gt Sid q gt createHttpJob jobs validate_credit_card php array credit_card gt Scc array name gt Credit card validation using a single job execution scheduled to run after 10 seconds schedule_time gt Sts LEN LSN exit 1 The new job script rne Jos ien lt php function validate_credit_card_number string Iipr eg mere OH A CIE 4 A N Ae gt 109 2 A Nel Ir Slab Lil ees lOO IL enges return ZendJobQueue setCurrentJobStatus ZendJobQueue OK else BI return ZendJobQueue setCurrentJobStatus ZendJobQueue FAIL 117 Zend Server Reference Manual Sparams ZendJobQueue getCurrentJobParams validate_credit_card_number S params credit_card ER 118 Zend Server Reference Manual Recurring Jobs This procedure describes how to create a recurring Job A recurring job will be executed periodically based on a defined schedule Creating recurring jobs from API is usually useful when the application s workflow requires the creation and usually subsequent deletion of recurring tasks following some user interaction For example in a feed aggregator it might make sense to create a recurring job that hourly pulls updates for each new feed added by the user Another example might be a reporting system in which users can create and delete daily weekly or monthly reports To create a recurring job LJ 1 Follow the instruct
215. ld in path OApue La Search Pp Traced Functions Running Time of total Le HEADER Set Cookie ZDEDebuggerPresent php S Bees K e Called from line Events slowFunctionEvent 100 00 6 000 025 m issues php 12 Memory Usage Before 24 bytes 1009 0 520 ms issues php 13 Y f topeng 455 700 6 Memory UDE RNAI 455 616 bytes lt 1 00 0512 ms issues php 29 ERROR 2 fopent uswbinit lt a hr issues php 29 Yf Events functionErrorPhpQ OO ERROR 2048 fopend lt a href fr issues php 29 En Returns false gt f Events functionErorEvent 489 198 bytes lt 1 00 0 003 mes issues php 14 Display Options Show Memory Usage Show or hide the Memory Usage column Hovering over an item in this column will display a tool tip containing a comparison of memory usage Highlight most time consuming path shows the path that took the most time to run Selecting this option makes the Next Child in path button appear Next Child in Path Clicking this button makes the blue indicator line and the display scroll and jump to the next child in the tree Errors An indicator for the amount of errors the code threw Clicking on the up down arrows will move the cursor to the error messages accordingly in the trace data and then it will return to the beginning Search a case insensitive search component for finding elements in the trace information Entering a search item and cli
216. ld root newt 1 2 1 include I var tmp pear build root newt 1 2 1 main I tmp pear download newt 1 2 1 I usr local zend include php T usr local zend include php main T usr local zend include php TSRM I usr local zend include php Zend T usr local zend include php ext T usr local zend include php ext date lib I usr local zend include php DHAVE_CONFIG_H g 0O2 E tmp pear download newt 1 2 1 newt c o newt lo mkdir libs gcc I I tmp pear download newt 1 2 1 DPHP_ATOM_INC I var tmp pear build root newt 1 2 1 include I var tmp pear build root newt 1 2 1 main I tmp pear download newt 1 2 1 I usr local zend include php I usr local zend include php main T usr local zend include php TSRM I usr local zend include php Zend I usr local zend include php ext T usr local zend include php ext date lib T usr local zend include php DHAVE_CONFIG_H g 02 c tmp pear download newt 1 2 1 newt c fPIC DPIC o libs newt o bin sh var tmp pear build root newt 1 2 1 libtool mode compile gcc i I tmp pear download newt 1 2 1 DPHP_ATOM_INC I var tmp pear build root newt 1 2 1 include I var tmp pear build root newt 1 2 1 main I tmp pear download newt 1 2 1 I usr local zend include php T usr local zend include php main T usr local zend include php TSRM I usr local zend include php Zend T usr local zend include php ext I usr local zend in
217. le before it is rotated Type integer Units MBytes Default Value 10 Available since version 4 0 207 Zend Server Reference Manual Zend Data Cache PHP API Table of Contents 208 e Zend Data Cache functions O zend shm cache store Stores a variable identified by key into the cache If a namespace is provided the key is stored under that namespace Identical keys can exist under different namespaces zend disk cache store Stores a variable identified by a key into the cache If a namespace is provided the key is stored under that namespace Identical keys can exist under different namespaces zend shm cache fetch Fetches data from the cache The key can be prefixed with a namespace to indicate searching within the specified namespace only If a namespace is not provided the Data Cache searches for the key in the global namespace zend disk cache fetch Fetches data from the cache The key can be prefixed with a namespace to indicate searching within the specified namespace only If a namespace is not provided the Data Cache searches for the key in the global namespace zend shm cache delete Finds and deletes an entry from the cache using a key to identify it The key can be prefixed with a namespace to indicate that the key can be deleted within that namespace only If a namespace is not provided the Data Cache searches for the key in the global namespace zend disk cache delete Finds and deletes an entry from t
218. level 0 5 The location of the zend_pagecache dependencies file string PHP_INI_SYSTEM configuration file in which caching rules are stored Enables file compression of cached output How often expired entries are removed from the cache The cleaning frequency is configured in seconds The maximum size of the log file before it is rotated zend_pagecache dir_depth integer PHP_INI_SYSTEM zend pagecache compression enable boolean PHP_INI_SYSTEM zend_pagecache clean frequency integer PHP_INI_SYSTEM zend pagecache log rotation size integer PHP_INI_ALL Configuration Directive Details zend_pagecache enable Enables the Zend Page Cache extension Type boolean Default Value 1 Available since version 4 0 zend_pagecache save_path Location where the cache files are saved This must point to an existing location Type string Default Value pagecache Available since version 4 0 227 Zend Server Reference Manual zend_pagecache dir_depth Depth of directory tree in which cached files are stored Type integer Default Value 2 Available since version 4 0 zend_pagecache log_verbosity_level The extension s log verbosity level Level 1 includes very important information messages errors and warnings Level 2 displays notices Greater levels up to 5 are reserved for debug purposes Type integer Default Value 2 Available since version 4 0 zend_pagecache dependencies_file The location of the configuration file in whi
219. ller unless you installed an additional instance on your machine Adding the Zend Controller to the Start Menu System Tray Taskbar The Zend Controller resides in the System Tray Taskbar The Zend Controller may behave differently in each environment In some systems the Zend Controller may run as soon as the computer is started and in others it doesn t The following instructions are included to let you define the Controller s behavior according to your preferences GNOME View the instructions online at http Avwww ubuntugeek com howto add entries in gnome menu html KDE view the KDE online documentation at http docs kde org development en kdebase workspace kmenuedit quickstart html Windows Vista and XP and 2008 Right click Start and select Properties Click the Start Menu tab and click the radio button next to Classic Start menu Click the Customize button and then the Add button Click the Browse button and locate the exe file The default location is Po NM gt lt install_ dir gt bin ZendController exe a Highlight the program and click OK Then click Next Highlight the folder in which you want the application to appear or click New Folder to create a new folder Click Next 7 Select a name for the shortcut and click Finish Note In Windows XP 2003 Vista and 2008 you may need administrative rights to make changes to the Start menu depending on the existing user profiles and privileges
220. lows all standard private IP addresses for example 10 to access the Debugger For security reasons if you do not have an immediate need for permissive access remove these ranges from the Allowed Hosts 10 192 168 172 16 Additional setup information can be found in the Installation Guide in Package Setup and Control Scripts 66 Zend Server Reference Manual Configuring Zend Server This section refers to the actual configuration workflow for using Zend Server Here we describe the general workflow Each component also has a separate section describing how to work with the component in detail The Zend Server s Administration Interface is the main control center for configuring your PHP and Zend Server components After installing Zend Server use the Administration Interface to configure your PHP by performing the following actions 1 In Server Setup Extensions define the extensions that should be turned on or turned off If you are planning to use functions related to an extension in your code verify that the extension is turned on If your extension has additional directives that are used to configure the extension s behavior a configure link is included in the Directives column Clicking this link leads you to the directives pre sorted to display the relevant directives The Directives page is accessed by clicking Server Setup Directives Here you find all the directives relating to the
221. lp assess job activity More advanced diagnostic information includes information about the variables priority and dependencies Clicking on a job will open the Job Details Page 18 Zend Server Reference Manual Job Details The Job Details page is accessed from Monitor Jobs by selecting a Job from the list and clicking on the row The Job Details page is the main display area for information regarding a specific Job Queue job Information on how a job is created is presented in Recurring Jobs 22935 Job Details Page last refreshed 05 Sep 2010 13 16 e Ran at 05 Sep 2010 13 00 Status completed Name eventim Created At 05 Sep 2010 12 58 URL hitp Wlocalhosttestissues php Priority normal Schedule Every 2 minutes Depends on none Variables Output Y Job Variables array H Requeue The information displayed in the Job Details page is as follows Ran at Scheduled for the date and time the job ran Status an indicator of the job s state Pending Waiting for predecessor Running Completed Ok Failed Logically failed Timeout Scheduled Suspended Name the name given to the job when it was created URL the location of the job file to be run Zend Server Reference Manual Priority The Job s priority Recurring Jobs are always set to normal Jobs created with the Job Queue API can hold different priorities In addition to normal they can be Low High or Urgent depending on the importance of the jo
222. lso use the Zend Optimizer that also includes the Guard Loader extension for code written in PHP 5 2 The Zend Optimizer is available as a free download from www zend com The Zend Guard Loader translates encoded files to a format that can be parsed by the Zend Engine This runtime process uses the Zend engine as a trigger to start the Zend Guard Loader component Zend Guard Zend Guard is a separate product available from Zend that provides an easy way to encode obfuscate and license PHP code via an Eclipse based interface or from the command line To view the API click Zend Guard Loader For additional information on using Zend Guard see the Zend Guard User Guide available online from http files zend com help Zend Guard zend guard htm 147 Zend Server Reference Manual Zend Data Cache The Zend Data Cache component provides a set of PHP functions to improve performance by storing data in the cache The Zend Data Cache is used to cache different types of data e g strings arrays and objects as well as script output or script output elements for various durations Items can be stored in shared memory SHM or to disk Namespaces are supported to group cached objects for easy management Data Caching is primarily used when it is impractical or impossible to cache the entire page output such as when sections of the script are fully dynamic or when the conditions for caching the script are too numerous An example of this kin
223. lt page after logging in to the Administration Interface The Dashboard page is a summary of information and quick links The information in this page is divided into Recent Events Tasks and a System Overview Recent Events show the top five most critical events that occurred in your system Clicking on an Event ID will display the full audit trail The full list can be found in Monitor Events Tasks include quick links to configuration tasks and useful information Clicking on a link directs you to the appropriate page in the Administration Interface The System Overview lists information about your environment including PHP version and a Zend Components status display Zend Server Reference Manual Events The Events page is accessed from Monitor Events The Events page is the main display for events that are generated based on the conditions defined by the Monitoring Rules Events contain information about a specific occurrence that indicates that your environment is displaying uncharacteristic behavior You can use the Events page to perform additional actions to diagnose the problem The actions that can be performed from this page are Filter View Event Details and Change Status You can also search for an event using the event s ID number if you know what the number is Each individual event includes specific information about the occurrence such as when it happened how many times it happened and other details
224. ltaneously by single back end server Type integer Default Value 4 Available since version 5 0 274 API Reference zend_jobqueue history The maximum time in days a completed failed or removed job is kept in database If no directive is provided time is unlimited and jobs are never deleted Independently on this directive setting jobs may be kept forever using persistent option Type integer Units days Default Value 7 Available since version 5 0 zend_jobqueue client_keep_alive Number of second while daemon keeps inactive connection from client In case client doesn t send any request during this time daemon closes the client s connection default 3600 seconds 1 hour Type integer Default Value 3600 Available since version 5 0 zend_jobqueue client_read_timeout Number of second while daemon is trying to read request from client In case client doesn t respond in this time daemon closes the client s connection default 10 seconds Type integer Default Value 10 Available since version 5 0 zend_jobqueue client_write_timeout Number of seconds while daemon is trying to deliver response to client In case client doesn t respond in this time daemon closes the client s connection default 10 seconds Type integer Default Value 10 Available since version 5 0 zend_jobqueue connection_timeout Number of milliseconds while daemon trying to establish a connection with back end server Type intege
225. ly to the directives related to this component in Server Setup Directives 3 Locate the directive zend_monitor security_black_list Add as a value any keys that should be blocked using a comma to separate between them 5 Click Save Changes 6 Restart by clicking Wee Each of the keys that you added to the list will now be replaced by lt BLOCKED_VALUE gt i Example 3 For example to blacklist HTTP passwords passed to PHP by the web server through the ZS SERVER PHP_AUTH_PW super global variable would add it as follows zend_monitor security_black_list PHP_AUTH_PW Any subsequent keys added would be added using a comma to separate them as follows zend_monitor security_black_list PHP_AUTH_PW cc_number secret_token Please note that if the same key exists in several super globals for example if cc_number exists in both POST and SERVER it will be removed from all of them You can configure the list of super global variables you want to secure using this feature by setting the value of the zend_monitor super_globals_to_secure directive 308 Zend Server Best Practices Development What s in Development In the Development section you will find information on how to use Zend Server and components in development for efficient detection and diagnosis of issues This document includes information on the following development issues a Working with Zend Framework This section explores the benefits of t
226. mber of Seconds gt gt IIS 7 In applicationHost config locate the following lt fastCgi gt lt application fullPath C Program Files x86 Zend ZendServer bin php cgi exe maxInstances 10 instanceMaxRequests 10000 gt lt environmentVariables gt lt environmentVariable name PHPRC value C Program Files x86 Zend ZendServer etc gt lt environmentVariable name PHP_FCGI_MAX_REQUESTS value 10000 gt lt environmentVariables gt lt application gt lt fastCgi gt 340 Zend Server Best Practices And change the following values activityTimeout lt Number of Seconds gt requestTimeout lt Number of Seconds gt PHP Settings This procedure describes how to configure your PHP s execution time E To configure your PHP s execution time 1 In Zend Server go to Server Setup Directives Edit the value of the following directives Change max_execution_time to lt Number of Seconds gt and max_input_time to lt Number of Seconds gt 4 Restart PHP Scripts that run more than 30 seconds but less than lt Number of Seconds gt should now run See below for instructions on how to test this Testing the Changes The following procedure shows how to run a short script that checks if the settings have been properly applied E To test your settings 1 Open a text editor and insert the following code lt php sleep 40 echo If you see this text the script completed and the defaults were
227. ministration Interface opens in a browser The Administration Interface is a Web interface that runs through a browser This procedure describes how to view the Administration Interface To view the Administration Interface LJ 1 Torun Zend Server locally open a browser and enter the following URL For Windows http localhost ZendServer For Linux http localhost 10081 ZendServer or https localhost 10082 ZendServer If you are using a remote connection replace localhost with your Host Name or IP 2 The Zend Server login screen opens and prompts you to set a password This screen only appears once and is not displayed again after your password is set The next time you log in to Zend Server you are prompted for the password you set the first time you opened Zend Server 63 Zend Server Reference Manual Configure Your Password Purpose To ensure that you can access the Administration Interface Result Your password is created When you first run Zend Server the registration screen is displayed Define your Zend Server login password in this screen To view the different password management options click Password Management Check Apache Purpose To verify that Apache is running Result System confirmation This procedure describes how to check if the Apache Web server is running To check if the Apache server is running LJ DEB RPM Tarball from the command line run ps ef grep E apache2 httpd Wi
228. mizer On Off switch When set to Off code is not optimized Type boolean Default Value 1 Available since version 4 0 zend_optimizerplus use_cwd When this directive is enabled the Optimizer appends the current working directory to the script key thus elminating possible collisions between files with the same name basename Disablingthe directive improves performance but may break existing applications Type boolean Default Value 1 Available since version 4 0 zend_optimizerplus validate_timestamps When disabled you must reset the Optimizer manually or restart the webserver for changes to the filesystem to take effect lt br gt The frequancy of the check is controlled by the directive zend_optimizerplus revalidate_freq Type boolean Default Value 1 Available since version 4 0 zend_optimizerplus revalidate_freq How often to check file timestamps for changes to the shared memory storage allocation Type integer Units seconds Default Value 2 Available since version 4 0 191 Zend Server Reference Manual zend_optimizerplus revalidate_path If the file search is disabled and a cached file is found that uses the same include_path the file is not searched again Thus if a file with the same name appears somewhere else in include_path it won t be found Enable this directive if this optimization has an effect on your applications The default for this directive is disabled which means that optimization
229. n 4 0 284 API Reference zend_codetracing log_file Log file for the Code Tracing module relative to the log dir Type string Default Value codetracing log Available since version 4 0 zend_codetracing log_verbosity Logging verbosity level Type integer Default Value 0 Available since version 4 0 zend_codetracing override_functions List of overriding functions Can contain function names wildcards prefix_ and references to files filename Entries are separated by comma File contains one entry per line which can be function name or wildcard Type string Default Value ZEND_PREF X etc functions txt Available since version 4 0 zend_codetracing max_concurrent_trace_buffers Number of concurrent trace buffer allocated Type integer Default Value 5 Available since version 4 0 zend_codetracing log_rotation_size The maximum size of the log file before it is rotated Type integer Units MBytes Default Value 10 Available since version 4 0 285 Zend Server Reference Manual Zend Session Clustering Configuration Directives Configuration Directives Summary Modification Directive Type Scope zend sc enable boolean PHP_INI_SYSTEM zend sc scd port integer PHP_INI_SYSTEM zend sc use unix sockets boolean PHP_INI_SYSTEM zend sc unix socket filename string PHP_INI_SYSTEM zend eclock timeout integer PHP_INI_SYSTEM zend sc log rotation size integer PHP_INI_SYSTEM zend sc log verbosit
230. n call given script with given vars ZendJobQueue getJobStatus Retrieves status of previously created job identified by job_id ZendJobQueue removeJob Removes the job from the queue Makes all dependent jobs fail In case the job is in progress it will be finished but dependent jobs won t be started anyway For non existing jobs the function just returns false Finished jobs are simply removed from the database ZendJobQueue restartJob Restart a previously executed Job and all its followers ZendJobQueue isSuspended Checks if Queue is suspended and returns true or false ZendJobQueue isJobQueueDaemonRunning Checks if the Job Queue Daemon is running ZendJobQueue suspendQueue Suspends the Job Queue so it will accept new jobs but won t start them The jobs which were executed during call to this function will be completed ZendJobQueue resumeQueue Resumes the Job Queue so it will schedule and start queued jobs ZendJobQueue getStatistics Returns internal daemon statistics such as up time number of complete jobs number of failed jobs number of waiting jobs number of currently running jobs etc ZendJobQueue getConfig Returns the current value of the configuration option of the Job Queue Daemon ZendJobQueue reloadConfig Re reads the configuration file of the Job Queue Daemon and reloads all directives that are reloadable ZendJobQueue getJoblnfo Returns an associative array with properties of the job with the gi
231. n order to prevent inconsistency that could result in License FAQ How do just take a look at the product If you enter Zend Server without a license you can run Zend Server in Community Edition Mode In this mode Zend Server s Community Edition features PHP 5 x Zend Data Cache Zend Debugger Zend Guard Loader Zend Java Bridge and Zend Optimizer are available and the features that require a license are visible and disabled J To enter the Community Edition mode do not enter an Order Number and License Key Click Enter Without a License to start using Zend Server in Community Edition mode As soon as you enter a valid license all licensed features are automatically activated for the license period Zend Server Reference Manual How do get a License If you do not already have a license go to the licensing page on zend com to find out how to get a license already have a License what do I do If you have already purchased a license you should have received a confirmation e mail that includes your Order Number and License Key E If you have just installed Zend Server To enter a license enter your Order Number and License Key as stated in your confirmation e mail and click Enter If you have already been running Zend Server in Community Edition Mode or with an evaluation license In the Administration Interface go to Administration Password and License Enter your new license details into the Update L
232. nce Manual Class Constants ZendJobQueue TYPE_HTTP A HTTP type of job with an absolute URL ZendJobQueue TYPE_HTTP_RELATIVE A HTTP type of job with a relative URL ZendJobQueue TYPE_SHELL A SHELL type of job ZendJobQueue PRIORITY_LOW A low priority job ZendJobQueue PRIORITY_NORMAL A normal priority job ZendJobQueue PRIORITY_HIGH A high priority job ZendJobQueue PRIORITY_URGENT An urgent priority job ZendJobQueue STATUS PENDING The job is waiting to be processed ZendJobQueue STATUS _WAITING_PREDECESSOR The job is waiting for its predecessor s completion ZendJobQueue STATUS RUNNING The job is executing ZendJobQueue STATUS_ COMPLETED Job execution has been completed successfully ZendJobQueue STATUS_ FAILED The job execution failed ZendJobQueue STATUS_ OK The job was executed and reported its successful completion status ZendJobQueue STATUS_ LOGICALLY FAILED The job was executed but reported failed completion status ZendJobQueue STATUS TIMEOUT Job execution timeout ZendJobQueue STATUS REMOVED A logically removed job ZendJobQueue STATUS_ SCHEDULED The job is scheduled to be executed at some specific time ZendJobQueue STATUS_ SUSPENDED The job execution is susspended ZendJobQueue SORT_NONE Disable sorting of result set of getJobsList ZendJobQueue SORT_BY_ID Sort result set of getUobsList by job id ZendJobQueue SORT_BY_ TYPE Sort result set of getJobsList by job type 260
233. nce Manual Error Messages seeeeseeersreren 178 lU 37 COTOCHING aaae e 152 errors duplicate functions cc eeeeeees 81 errors FUNTIMG c cee eececcceceeeeseeeseeeeeeeeaeees 37 event a00red ton 17 event data 17 event details 106 advanced Laeken 106 basic tasks smc hesr eesti 106 Event Details 17 103 Event Details Table sasossseeneneeeeesennnenn 17 Event Details Table optons 17 Event ID uence eae 15 event 0 oe eee 37 99 event status AANEREN 103 event status changing 103 EVENTS iien iai te E 40 Tee EE a 40 aggregation oo ee eeeeeeeeeeteeeeeeeteeeees 106 152 changing status 16 17 152 ele ME 103 CONGITIONS Tor 40 Configuring sniene eiat amaa 35 99 configuring rules 37 e ell die HE 17 e le WEE 99 CHIRAL EE 15 deM Meeks cteeeaceteterehiiteeshstaeteracsesieele 103 defintion of 152 descriptions of 40 Ota gege EEN 16 dagmnoeimg erster a arate NEE AN 16 17 diagnostic actions 0 0 0 e etter tees 106 Glgablg s KEE eg 35 OMADIING EEE 35 ExCepion EAR 16 362 exporting to XML 106 filtering stone tepid ed hk etc 16 103 generating REENEN 71 group details 106 group drlldown 0 ee eeeeeeeeeeeeeeeeeeeeeeeees 106 QFOUPIING aae eaaa a e 106 E EEN 15 GNOE amp ic cosset e a et eae oe 103 Information 16 JAVA exception scese 16 Last TME im a E 17 MONTAT a ea E S 16 MOST POCO e e usbaregeg ed geogr OR betes 15 NAMOS irinn iina ein d e anian 40 numb
234. nchmarking Using the Zend Controller Benchmark Tool The Zend Controller Benchmark tool is a simple benchmark that developers can use to run performance tests on the URLs Web pages they develop The main purpose of this tool is to identify the performance gain that is achieved when using Zend Server s Optimizer and Data Caching components This can be done by turning the different Zend Server components on and off and running the benchmark The Zend Controller Benchmark tool does not replace standard benchmarking utilities It is intended to provide a quick and easy way to measure performance without having to run elaborate and resource expensive performance tests How it Works The Benchmark tool checks HTTP request response times and lists them in a bar chart that displays when the test was started and the average amount of requests per second received for the duration of the test user defined in seconds These tests can be run once without one of the performance related components Data Cache and Optimizer and then again with each or all components turned on to see the effect each component has on performance Before running a test make sure the URL you enter is the exact URL and does not rely on redirection Using a redirecting URL causes the test to fail Torun a Benchmark LJ 1 Open the Zend Controller 2 Inthe Benchmark section enter a URL 3 Inthe Duration section define the amount of seconds to run the test
235. nd Disclaimer External extensions are not supported by Zend If you encounter a problem remove any additional extensions before contacting Zend Support Building PHP extensions from source requires basic UNIX skills as well as several build tools among others An ANSI C compiler flex Version 2 5 4 bison Version 1 28 recommended 1 35 or 1 75 Any specific components or libraries required by the extension being built such as gd pdf libs etc To compile extensions from source 1 Download and extract the extension s source 2 Switch to the extension source directory by default located in lt install_path gt Zend ZendServer lib phpext and run the following commands cd lt your_extension_directory gt lt install_path gt bin phpize Ensure that you replace lt your_extension_directory gt with your extension directory s name 3 Run the configure command to prepare the source for compilation You will need to include the php config and enable shared flags as follows configur with php config lt install_path gt bin php config nable shared Some extensions will need additional configuration flags It is therefore advised to run configure help and review the possible flags before compiling 4 Compile and install the extension binaries by running the following commands make make install Make install should install the new so extension binary in Zend Server s extension 165 Zend
236. nd Server Best Practices Changing the Component s Log Directory This issue is intended for advanced users who want to change the directory for storing Zend component Log files By default component logs are written to the directory specified in the directive zend log_dir in the ZendGlobalDirectives ini file located in lt install_path gt etc conf d ZendGlobalDirectives ini If you change the path the following components will write their logs to the new location monitor log monitor_node log monitor zdo log page_cache log Linux To Change the Log directory in Linux LJ 1 Create the new logs directory with write permissions in order to be able to write the logs in the new directory 2 The new directory has to be owned by the Apache NOBODY user profile and belong to the file system group zend To move the directory to the zend group run the following command as user root chown r Apache user zend new directory 3 Open lt install_path gt etc conf d ZendGglobalDdirectives ini and change the value of zend log_dir to the new log directory 4 Run zendctl sh stop and zendctl sh start to apply the changes this script is located in lt install_path gt bin Now the log files for the Zend Page Cache and Zend Monitor components will be written to the new location This means that some log files such as Apache and PHP will still be written to the default directory lt install_path gt var log 357 Zend Server
237. ndows In the system tray hover over the Apache Monitor icon to view the Apache status If necessary click to open a dialog with the Stop Start and Restart options A notification with the Apache server status is displayed Every time the Apache is restarted the following message is displayed httpd Could not reliably determine the server s fully qualified domain name using 127 0 0 1 for ServerName To resolve this situation add a line to the Apache configuration file as follows Open the file lt install_path gt apache2 conf httpd conf and add the following line placing your server s Host name in the brackets ServerName server name 64 Zend Server Reference Manual Check IIS Purpose To verify that the bundled webserver is installed and running Result System confirmation This procedure describes how to check if the IIS server is running en To check if the IIS server is running LJ Use Microsoft http support microsoft com kb 314771 Look for the presence of the following registry key HKEY_LOCAL_MACHINE SOFTWARE Microsoft InetStp or Issue the following command in cmd lisreset status If the following message is received then IIS is not running iisreset is not recognized as an internal or external command operable program or batch file amp 61664 not installed If the following messages are received then IIS is running Status for Windows Process Activation Service WAS Running Stat
238. nect To change this value in the Administration Interface go to Server Setup Debugger remove all the IP range settings and set the specific IP s that you permit to connect to Zend Server Depending on if you are working on a development or production environment you may want to consider different defaults In development environments all the machines that require access to debug should be allowed In production environments it is safer to limit access or even allocate a single machine to allow access Not only will this make your environment more secure it may also help limit and prevent unnecessary traffic on your production server 301 Zend Server Reference Manual Securing the Administration Interface Purpose To provide an additional security layer to the existing password protection especially crucial to production environments This solution does not replace the appropriate firewall precautions you should take to deny access to the Administration Interface from certain IP addresses By default access to the Administration Interface is password protected If you want to secure access to the Administration Interface you can do so by setting an IP address based access control list on the Web server running the Administration Interface After following this procedure users that try to access the Administration Interface from not allowed unauthorized IP addresses are not able to access the Administration Interface L
239. nection between your PHP and Java environments to ensure that the Java Bridge is defined properly and communicates with the correct Java This code demonstrates the interaction between a PHP application and Java objects that occurs in the Java Bridge implementation To test the Java Bridge connection Create a new PHP script to create a Java object as in the example below lt php create Java object Sformatter new Java java text SimpleDateFormat EE T KE MMMM dd yyyy at h mm ss a Gs Print date through the object piine Srormacter gt tornat new Java java uril Date tyne You can also access Java system classes Ssystem new Java java lang System print S system n will use toString in PHP5 print Java version Ssystem gt getProperty java version lt ai gt ia s print Java vendor Ssystem gt getProperty java vendor o gt yaa print VOSS Deene Gete Eeer lee samedi 4 W Ssystem gt getProperty os version on Seet Get Property ClO Sica ll ee Alte 2 gt If the Java Bridge is correctly installed and running you should receive the following response Friday June 13 2008 at 8 45 57 PM U S Daylight Time class java lang System Java version 1 6 0_06 Java vendor Sun Microsystems Inc OS inhaws 2 6 25 S3 18 ce9 1686 om 1396 This output shows the date Java version vendor and operating system and indicates that the con
240. nection is complete 83 Zend Server Reference Manual If you receive an error message instead of the expected output information one of the following problems may have occurred The Java Bridge is not installed The Java Bridge extension is not running Server Setup Components oO NS The Java Bridge Server needs to be restarted Server Setup Components 4 The requested jar file does not appear in the environment s classpath Once the connection is established you can start using the API to call Java objects from your PHP Before using the Java Bridge API Before you start incorporating the Java Bridge API in your code you must be aware that when you call Java from PHP you must use Java coding standards to call the correct objects because the Java Bridge does not perform dynamic data conversion You must perform the type conversion in your PHP code For example E Example E If you call a Java method that looks like this public void doSomething int i Using what you would expect to work in PHP Svar 1 SjavaObject gt doSomething var The Java Bridge throws an exception To avoid this use the following line of code to convert the parameter from a string to a numeric value before the Java Bridge passes it SjavaObject gt doSomething Svar 0 For more information see the API or Java Bridge Use Cases 84 Zend Server Reference Manual Working with Local Debugging Local debugging occurs
241. ned in zend_optimizerplus memory_consumption or contain more files than the allocated quantity of files as defined in zend_optimizerplus max_accelerated_files Large files that have high memory consumption If you have exhausted all your allocated memory select the largest and slowest scripts blacklist them Files that have long execution times makes the compilation save irrelevant Code that is modified on the fly e g auto generated template files Increasing Optimizer Resource Allocation The following procedure describes how to change Optimizer resource allocation This procedure is used as an alternative to blacklisting files and should be tried first before adding a file to a blacklist unless the file meets one of the criteria above Optimizer settings can be changed to increase allocated memory and the maximum quantity of files This alternative depends on the amount of memory available to allocate to the Accelerator Memory allocation can only be increased when the Optimizer is set to On 78 Zend Server Reference Manual To increase the Optimizer memory allocation LJ 1 Goto Server Setup Components and verify that the Zend Optimizer component is set to Om 2 Click the Configure link in the directives column to display the list of Optimizer directives 3 Locate the directive zend_optimizerplus memory_consumption and increase the value according to your system s memory allocation abilities To
242. neric interface to the system spelling checking libraries To compile PSpell first install the php source zend ce pe package for this procedure Also since this extension relies on the portable spell checking interface pspell library you will need to install its devel package Debian and Ubuntu users should install the libpspell dev package on RedHat based distributions the package name is aspell devel E To compile your own extension 1 CD the extension s source directory in our example the PHP version is 5 2 9 as it is the current stable version Zend Server is shipped with cd usr local zend share php source php 5 2 9 ext pspell 2 Run phpize usr local zend bin phpize The output should be similar to this Contiguring Fors PHP Api Version 20041225 zend Module Api No 20060613 Zend Extension Api No 220060519 3 Run the configure script generated by phpize contigure with ohp config usr local zend bin php contig 4 Run make make 5 Become a super user root and run make install 174 Zend Server Reference Manual The output should be Installing shared extensions usr local zend lib php_extensions 5 Insert the extension pspell so directive either in php ini or in a separate file under the scan dir 6 Restart your webserver Ensure the extension is properly loaded by checking the output of PHP Info This can be viewed in the Zend Server PHP Info page The extension
243. net downloads php 2 Inthe Windows binaries section select PECL lt current ZendServer PHP 163 Zend Server Reference Manual version gt Non thread safe Win32 binaries 64 bit users can use this too Click the package to start a download process Follow the download instructions and extract the ZIP file Select the dll you want To add the extension go to the extension directory lt install_path gt ZendServer lib phpext and add the d file there Go to your php ini file and add the following line extension lt extension_name gt dll To verify that the extension was loaded properly go to Setup Extensions and locate the extension from the list When loading new extensions also examine the log files For more information on these extensions go to http pecl4win php net Note The extensions in this site are thread safe and therefore should not be downloaded for use with Zend Server Some extensions need directives to change the Extension s default configurations These directives should be added added to your php ini file manually There is no way to predict which directives extensions may have For each third party extension you want to add make sure to go to the project s source site to check for additional information related to the extension 164 Zend Server Reference Manual Compiling Extensions Under Unix Linux operating systems you can also create and compile your own extensions using the phpize comma
244. newt o libs newt_vcall o lnewt Wl soname Wl newt so o libs newt so creating newt la cd libs amp amp rm E newt la amp amp In s newt la newt la bin sh var tmp pear build root newt 1 2 1 libtool mode install cp newt la var tmp pear build root newt 1 2 1 modules cp libs newt so var tmp pear build root newt 1 2 1 modules newt so cp libs newt lai var tmp pear build root newt 1 2 1 modules newt la PATH SPATH sbin ldconfig n var tmp pear build root newt 1 2 1 modules Libraries have been installed in var tmp pear build root newt 1 2 1 modules Build complete 2 Run make test Use PECL to put the newly built Newt extension into place run make INSTALL_ROOT var tmp pear build root install newt 1 2 1 4 instal the shared extensions by running var tmp pear build root install newt 1 2 1 usr local zend lib php_extensions Zend Server Reference Manual running find var tmp pear build root install newt 1 2 1 xargs Je cli ils 574096 AR CiaWxce lt a 3 COOU COOL 4096 Mar 30 20 45 var tmp pear build root install newt 1 2 1 STALLS Al beggen TOOL 4096 Mar 30 20 45 var tmp pear build root install newt 1 2 1 usr S720 Al Chappe SESE 3S OO LOOK 4096 Mar 30 20 45 var tmp pear build root install newt 1 2 1 usr local SATE d Clerk 3 ROO TOOL 4096 Mar 30 20 45 var tmp pear build root install newt 1 2 1 usr local zend ER d Ee 3 COOL TOOL 4096 Mar
245. nfiguring directives eeeeeen 78 CESCIIPTIONS srce ar Enie n 49 lOACING e E ei 49 managing aens neiii esia 78 0AL1 AVALA een 142 restarting oases i erii 78 StA S iei ie evade a eege aad 49 turning ON and oft 71 Components D age 49 e UE 49 Components siaius 15 compressing cached pages 132 Configuration files 0 ccccceeeeeeeeeneees 32 configuration optlons 33 configuration workflow n 71 configuration va lues 33 Configure Debugger Access Control 67 Configuring Direchives 80 Configuring Directives Associated with Components 78 Configuring Directives Associated with Evtensions 73 Configuring Event ccccceeeeeereeee 99 Configuring PHP for Performance 285 Configuring phpMyAdmin ssseseeeeeeeeeen 137 Configuring the runtime environment 85 Configuring Zend Download Server 93 Configuring Zend Geer 71 confirmation ema 58 Connections Trewalled aena ne eee nn nenene nenene 54 content downloads optimizing 154 DaT ug eegent E AE 17 COUNT events 17 creating a blacklist file ceeeeeeeees 81 Creating Events 99 Creating URL cache rules aaanaaaaenaaa 132 critical events 15 Custom Event 17 37 Custom Variables cccccecteeeseeeeee 17 D EE leet DEE 15 Data Cache 146 OVOIVIOW eee ceceececeececeeeeeeeeeeeeaeeeeeeeeneees 142 Data Cache Ap 129 146 153 Data Caching cccccceccesteeseeree
246. ngly see Working with Monitoring Page Cache A URL based Always If you decide not to use this HTML output If you are not using URL component cache for PHP based Caching scripts ZDS Zend Passing heavy For testing reasons only Or if If you do not need to off Download download you have a dedicated server load large download traffic Server requests to a for static content dedicated process to off load Apache 291 Zend Server Reference Manual Optimizing Monitoring Developing and maintaining Web applications is an intricate and highly demanding process Zend Server facilitates the intricacies of the development process by employing an efficient problem resolution infrastructure This infrastructure s main goal is to help make the most out of challenging environments and tight schedules and prevent problematic issues from falling between the cracks Using monitoring helps organizations improve communication between the development testing and IT teams to streamline the development and deployment processes Development and production environments can unify the working environment and ensure improved information collection and distribution between development teams testing teams and IT teams See illustration below Manager K Detailed Bugs il Quality Assurance Developer Using Zend Server in your working environment ensures that pertinent and focused information reaches the right person at th
247. nt Monitoring 2 Selecta rule from the list Hovering over the information icon i displays a description of the selected event and the events parameters 3 Click Disable to stop the Monitor from collecting and reporting information relevant to this event type This event type is no longer monitored 98 Zend Server Reference Manual Editing Monitoring Rules To access this tab go to Rule Management Monitoring This section describes how to activate change and deactivate a monitoring rule in your environment In order to define rules the Zend Monitor component must be installed and running To Deactivate a Rule The following procedure describes how to deactivate a rule By default all rules are set with predefined conditions As long as the Monitor component is running theses rules will be active and events will be generated based on the pre defined parameters in each rule A disabled rule will appear grayed out but you can still edit E To deactivate a rule 1 In Rule Management Monitoring select a rule or rules that are not grayed out and at the bottom of the page in the drop down list choose the option Disable Rules 2 Click Change _ to save 3 To apply the changes click LO Restart PHP J The rule will now stop generating Events based on the rule s settings Disabled rules will not generate trace file information 99 Zend Server Reference Manual To Activate a Rule The following procedure
248. nternal functions zend_codetracing trace internal functions boolean PHP_INI_ALL call collection is enabled User functions call zend_codetracing trace user functions boolean PHP_INI_ALL collection is enabled Include require zend_codetracing trace_includes boolean PHP_INI_ALL data collection is enabled Function call S argument zend_codetracing trace_arguments boolean PHP_INI_ALL GET enabled 278 Directive Type zend codetracing trace return values zend_codetracing trace exceptions zend codetracing trace arrays zend_codetracing trace write zend_codetracing trace headers zend codetracing trace memory usage zend_codetracing trace errors zend_codetracing trace events zend_codetracing always dump zend codetracing dump on seqv zend_codetracing max_freq integer zend_codetracing log file string zend_codetracing log_ verbosity integer zend_codetracing override functions string zend_codetracing max concurrent trace buffers integer zend_codetracing log rotation size integer Modification Scope boolean PHP_INI_ALL boolean PHP_INI_ALL boolean PHP_INI_ALL boolean PHP_INI_ALL boolean PHP_INI_ALL boolean PHP_INI_ALL boolean PHP_INI_ALL boolean PHP_INI_ALL boolean PHP_INI_ALL boolean PHP_INI_ALL PHP_INI_LSYSTEM PHP_INI_LSYSTEM PHP_INI_SYSTEM PHP_INI_SYSTEM PHP_INI_ALL PHP_INI_ALL API Reference Description Function return value collection is enabled PHP exception data collec
249. nts sort_direction Sort the order SORT_ASC or SORT_DESC start Skip the given number of jobs count Retrieve only the given number of jobs 100 by default total The output parameter which is set to the total number of jobs conforming to the given query ignoring start and count fields Return Value A list of jobs with their details ZendJobQueue getApplications Returns an array of application names known by the daemon Available since version 5 0 Description array ZendJobQueue getApplications void Return Value A list of applications 268 API Reference ZendJobQueue getSchedulingRules Returns an array of all the registered scheduled rules Each rule is represented by a nested associative array with the following properties id The scheduling rule identifier status The rule status see STATUS_ constants type The rule type see TYPE_ constants priority The priority of the jobs created by this rule persistent The persistence flag of the jobs created by this rule script The URL or script to run name The name of the jobs created by this rule vars The input variables or arguments http_headers The additional HTTP headers schedule The CRON like schedule command app_id The application name associated with this rule and created jobs last_run The last time the rule was run next_run The next time the rule will run Available since version 5 0 Description ar
250. nts you do not need to configure these settings SMTP server address The server used to send mail SMTP server port The port used to send mail Sender s email address The email address that is displayed in the From details of each message Administration Interface URL Use the valid Zend Server address includes protocol http or https Server and Port settings The URL is included as a link in the event email Monitor Rules Default Emails A comma separated list of addresses All emails sent by the monitoring module will be sent to these addresses unless a different address is specified inside a monitoring rule in Rule Management Monitor If you disable the email sending setting in Rule Management Monitoring by selecting the rule and changing the status when the setting is reactivated all the email addresses will be lost and the email setting will be set to the default email address 51 Zend Server Reference Manual Code Tracing Settings Activation options for running a code trace 52 Active Code tracing is available for events Zend Code Tracing will collect trace information in Events that are defined for collecting trace information Inactive Code tracing is not available for events Zend Code Tracing is running but no new trace data will be collected even when a new event is triggered The Manual Trace URL option Monitor Code Tracing will remain active Standby Tracing is not a
251. o a single report These reports are called issues The following list displays the possible rule types that can generate issues in the Events page 34 Function Error A Function Error rule provides specific information about the root cause of an error that may not be related to a PHP error QA and production teams can use this event rule type to identify run time events as opposed to PHP errors which identify code related syntactical events Severity Warning Database Error A Database Error rule provides specific information about the root cause of an error that may not be related to a PHP error QA and production teams can use this event rule type to identify database connectivity and query events as opposed to PHP errors which identify code related syntactical events Severity Warning Slow Function Execution Slow Function Execution rules identify bottlenecks within functions providing a more granular approach than finding bottlenecks in pages This type of event rule is particularly useful in the production process because it can pinpoint performance bottlenecks for user specific functions as well as the predefined list of functions that are considered prone to slow execution Severity Warning and Critical Slow Query Execution Slow Query Execution rules generate an event when database related function execution rises above the given threshold Slow Query Execution events identify slow queries that are related to database perf
252. o absolute and relative Click on a Rule name Link to view diagnostics information by rule Custom Event Slow Function Execution Function Error Slow Query Execution Slow Request Execution High Memory Usage Inconsistent Output Size PHP Error Java Exception Database Error 317 Zend Server Reference Manual Event Rules Custom Event Description When the API function zend_monitor_custom_event is called from inside PHP code it generates an event When enabled an event will be generated and displayed in the Monitor Events Information Collected The most important details are e Function Name As displayed in the Issue s General Details e Function Arguments The arguments of the function that triggered the event are listed in the Function Data tab e user_data if specified in the function call that triggered the event it will display additional user defined data In most cases these details alone should be enough to indicate what happened to trigger an event Applicable Diagnostic Actions Click on a link to see how to perform each action Tools are listed in order of relevance to helping solve the event 1 Run the Debugger 318 Zend Server Best Practices Possible Causes and Solutions Custom Events are defined by users according to specific requirements These events can only be triggered by specific code in a specific application and therefore it is only possible to say th
253. o communicates with the Zend Server Administration Interface to report any errors and failures Jobs are successfully queued once they are written to persistent storage This makes sure that even if the daemon has to be restarted or even in case of complete system failure jobs are not lost The Job Queue Client Extension Jobs be they scheduled recurring or one time queued jobs are all passed to the Daemon by the Job Queue Client extension This simple PHP extension provides an easy to use API for creating and managing jobs from within PHP It communicates with the Job Queue Daemon through a TCP socket or a UNIX domain socket The Job Queue Client is also a part of the Zend Server Administration Interface which through the same extension allows the end user to create and manage jobs from the convenience of a web GUI 158 Zend Server Reference Manual Executing Web Servers As far as execution is concerned running a job is no more than sending a simple HTTP request When creating a new job through API or GUI the user specifies the URL for this HTTP request along with some possible optional parameters When it s time to run the job the Job Queue Daemon sends an HTTP request to the server specified by the URL along with the provided headers and parameters and waits for a response The executing HTTP server can be any HTTP server it might even be the same server that queued the job This design makes it very easy to manage th
254. obQueue resumeSchedulingRule int Srule_id Parameters rule_id The rule identifier Return Value If the scheduling rule was resumed or not resumed ZendJobQueue updateSchedulingRule Updates and reschedules the existing scheduling rule Available since version 5 0 Description boolean ZendJobQueue updateSchedulingRule int Srule_id string Beete Bea ovaro array Bee Zeus Parameters rule_id The rule identifier script The URL to request vars The input variables options The same as in createHttpJob Return Value If scheduling rule was updated or not updated 271 Zend Server Reference Manual ZendJobQueue getCurrentJobParams Decodes an array of input variables passed to the HTTP job Available since version 5 0 Description static array ZendJobQueue getCurrentJobParams void Return Value The job variables ZendJobQueue setCurrentUobStatus Reports job completion status OK or FAILED back to the daemon Available since version 5 0 Description static void ZendJobQueue setCurrentJobStatus int Scompletion string Smsqg Parameters completion The job completion status OK or FAILED msg The optional explanation message 272 API Reference Zend Job Queue Daemon Configuration Directives Configuration Directives Summary Directive zend_jobqueue database zend jobqueue binding zend oboueue back end server zend jobqueue max_ http jobs zend jobqueue history zend job
255. obal arrays like _GET This directive became available in PHP 5 0 0 and was dropped in PHP 6 0 0 register_argc_argv Off Off Tells PHP whether to declare the argv and argc variables that contain the GET information magic_quotes_gpc The default is Off This feature is deprecated as of PHP 6 0 0 Sets the magic_quotes state for GPC Get Post Cookie operations When magic_quotes are On all single quote double quote backslash and NULLs are escaped with a backslash automatically include_path As short as path to php pear possible depending on the application s needs Specifies a list of directories where the require include fopen file readfile and file_get_contents functions look for files The format is like the system s PATH environment variable A list of directories separated with a colon in Unix or semicolon in Windows 297 Zend Server Reference Manual Name Recommended Zend Server Description Value Default max_execution_time 30 30 This sets the maximum time in seconds that a script is allowed to run before it is terminated by PHP This helps prevent poorly written scripts from tying up the server The default setting is 30 s When running PHP from the command line the default setting is Os The maximum execution time is not affected by system calls stream operations etc See the set_time_limit
256. ock Ticker application Stock Ticker references a custom object get_news in the JVM library This is all in native Java The PHP code then outputs the results on the Website 177 Zend Server Reference Manual As opposed to a typical Java Bridge Implementation the Zend Server Java Bridge implementation addresses performance issues through the Java Bridge architecture Implementing the Java Bridge is a way to address scalability issues by using the Java Bridge to handle all communication in a single JVM instance instead of in several instances While the single JVM constitutes a single point of failure the fact is Zend s PHP Java connection is the most robust on the market Failures in systems of this type generally tend to occur when the Java Server is overloaded rather than as a result of glitches in the applications Zend Server s system architecture insures performance by diminishing overhead However in the event of failure the Java Bridge supports a restart feature that makes monitoring the status of the Java Server and restarting quick and simple One last point if the failure was caused by a glitch in the application the same thing would most likely occur in each of the JVMs in the non Zend system 178 Zend Server Reference Manual Example 2 A Case Study in Management Integration J2EE A company called FlowerPwr com sells flowers over the Internet They are a successful East Coast based firm that has an aggressive m
257. ode Trace it will also be included in the exported file This file can then be viewed in Zend Studio s Integration section The Export feature allows you to export all the data related to an event as a file that can be opened in Zend Studio for further analysis Examples of analysis are executing a debugging session based on the event context information or viewing and analyzing relevant Code Tracing information again only if such information was captured by the server The flexibility of creating a file means that you can easily email the file to be opened in a Zend Studio that does not have any connection to a server This can be useful for diagnosing sensitive trace information and preserving security protocols For instructions on exporting Zend Code Trace information to a Trace file see Exporting Trace Information Some events may not include this option This only happen in events that collect information that is not relevant for debugging Show Code Tracing This option is only available if you have Zend Code Tracing set for the Event see Setting a Monitor Rule to Run a Code Trace The Show Code Tracing option opens the Zend Code Trace Tree and Statistics views for the specific trace information collected for the event you are in 109 Zend Server Reference Manual Change Status The Change Status option provides an easy way to manage issues Issues that are assigned an appropriate status can be efficiently filtered to cont
258. ogs refreshing View sseeeeeeeeen 75 logs searching Im 75 lOgS VICWING cceeeeeeteeeeeeeeeeteeeteaeeteeeeees 75 lost G seword nene 8 M Mail Server Geittngs 55 memory Cachmg 129 Memory Usage event 37 message LVPOS i eile ianiai nidan 178 messages color Code 178 MESSAGES Security 0 2 eeeeeeeeeeeteeeeeesteeeeeees 15 lee EEN 173 Joadimg ieaiaia aeaa 173 MONITOR et eara aie aa adar 152 OVETV EW ecccecececeeeeeenerteeeeeeeeeeeeeeenaees 142 Monitor Configuration s 55 Monitor settmgs A 71 Monitor ab 14 Monttoring esser 35 configuring for development 281 configuring for production 006 281 database errors ee eeeeeeeeeeeeeeeeeeeeeees 152 function failures cceeeeeeeeeee 152 implementing 0 0 eeeeeeee este eeeeenteeeeeeeaes 281 OPUMIZING EE 281 Slow SCIIPIS si 2 lt cssuiec ege de geeeedee ae 152 workilow nosnnnnnsnnnnnsennsnseennnnnennnnenn nenene nnne 281 Monitoring Rules sseeeeseerssreernnn 16 MySQL avai ENEE 137 N Namespace Gupport 129 NAMESPACES ee ee eeeeeeeeeeeseeeeeeeeeeeees 129 146 Keier 178 o opcode caching 32 144 operating System 32 Operating Systems 33 Optimizer ooo eeceeeee cece eeetaeeeeeeeeeeeeees 144 advanced settings cesses 284 fine TUNING 2 eee eee eeeteeeetee teense teeeees 284 improving performance sseeseeese eene 284 OVEFV OW sssssssssossnsnnressesrtrrinrensneerrnnn nnn 142 Optimizer
259. olean Default Value 1 Available since version 4 0 241 Zend Server Reference Manual Zend Monitor Node Daemon Configuration Directives Summary Directive Type zend_monitor global_directives_ini_file string zend_monitor node_id string zend_monitor log verbosity integer zend monitor log rotation size integer zend_monitor database type string zend_monitor database name string zend_monitor database host_name string zend_monitor database port integer zend_monitor database user string zend_monitor database password string zend monitor events rules xml file name string zend_monitor smtp server string zend_monitor smtp port integer zend_monitor sendmail from string zend monitor gui host name string zend monitor max events queue size integer zend_monitor queue _flush_interval integer zend monitor gui default emails string zend_monitor persistent_smtp boolean 242 Configuration Directives Description Global Directives ini File Node Id The Log s verbosity level The maximum size of the log file before it is rotated Database Type SQLITE MYSQL DB2 Name of the Database Hos Name of the Database machine server db only Port of the Databse server db only User name to connect to the database server db only Password to connect to the database server db only Events Rules XML File Name For the full path concatenate it with zend conf_dir value SMTP server SMTP Port Send Mail From email Address Host name
260. on Optimizer On Off switch When set to Off code is not optimized If set to On use the boolean PHP_INI_SYSTEM current directory as a part of the script key If enabled the Optimizer checks boolean PHP_INI_ALL the file timestamps and updates the cache accordingly How often to check file timestamps for integer PHP_INI_ALL changes to the shared memory storage allocation Enables or disables file search in include_path optimization Enable this hack as a workaround for can t redeclare class errors Enable this hack as a workaround for duplicate definition errors The verbosity of the Optimizer log The Optimizer shared memory storage size The integer PHP_INI_SYSTEM amount of memory for storing precompiled PHP code in Mbytes The maximum number of keys integer PHP_INI_SYSTEM scripts in the Optimizer hash table Type boolean PHP_INI_SYSTEM boolean PHP_INI_ALL boolean PHP_INI_SYSTEM boolean PHP_INI_ALL integer PHP_INI_SYSTEM 189 Zend Server Reference Manual The maximum percentage of zend_optimizerplus max_ wasted percentage integer PHP_INI_LSYSTEM wasted memory until a restart is scheduled Check the cache zend_optimizerplus consistency checks integer PHP_INI_ALL checksum each N requests How long to wait in seconds for a zend_optimizerplus force restart timeout integer PHP_INI_SYSTEM scheduled restart to begin if the cache is not being accessed The location of the zend_optim
261. on the new settings 100 Zend Server Reference Manual Once you have set actions for an event tracing and send mail you can deactivate these actions from the main page Rule Management Monitoring by selecting a rule or multiple rules from the list and from the bottom of the page in the drop down list choose the applicable option Enable Emailing Action Disable Emailing Action Enable Code Tracing Action Disable Code Tracing Action 101 Zend Server Reference Manual Working with Events To access this tab go to Monitor Events An event is a collection of runtime related information collected by Zend Server This information is collected when an event is triggered according to the Monitor component s rule settings An event indicates that something happened in your environment that exceeded your definitions and the standards of how you want your PHP code to run From this page you can Find Events View Event Details Change an Event s Status CH See Working with Monitoring to learn how to define which events you want Zend Server to generate and under which conditions Finding Events By default all events are displayed in the Events page Monitor Events The filter option allows you to reduce the number of events displayed in the Events table to easily locate specific events There are seven filtering categories for events Occurred Before Only show events that first happened before the
262. onally you can compile a PHP extension from the main PHP source as opposed to PECL This requires installing a package from the Zend Server repository called php 5 2 source zenad server or php 5 3 source zend server depending on your Zend Server s major PHP version This package includes full PHP sources as patched for security or optimization concerns by the Zend development team This ensures that you are using the exact same source code we used when building Zend Server 168 Zend Server Reference Manual Scenario 1 compile a PECL extension called Newt Newt is a PHP extension for RedHat s Newt New Terminal library a terminal based window and widget library for writing applications with user friendly interfaces Being what it is this extension requires the existence of the Newt library development files If you are using Debian or Ubuntu you should install a package called libnewt dev On RedHat based distributions the package name is newt devel Make sure these are installed before continuing NOTE Other extensions will have other dependencies For example the Mcrypt extension will require the Mcrypt development package NOTE Since PECL will attempt to write the extension onto usr local zend lib php_extensions you will have to become a super user to perform this procedure This is only needed for the actual make install 169 Zend Server Reference Manual 170 To compile your own extension 1 Assuming you have the New
263. onfiguring aeien iie aa ai aeii a 54 pEerm SS OnS 0 00 eee ee eeteeeeeeenteeeeeeneeeeee 54 lee EE 88 I SIE 54 ZONG Atte aici ath ica taki 54 IIS optimizing PHP esteades ieiet 328 tuning FastCGI configuration 328 IIS Configuration Optimization 328 Increasing Optimizer Resource Allocation EE ecter tae oS Stee Scares eee a 81 nfo messages 141 Info Messages 178 installation directories 00 0 eeeeeeeeeeeeeeee 5 installation location cceteeeeteeeeeeeeeees 5 Installation path 5 Integraton with Zend Studio 008 17 IP addresses detectimg iein ana aiaa aa 55 restricting ACCESS sssr 67 E 37 E 106 basic details 106 Changing Status ee eeeeeeeeeeeeeees 106 detaching display c ccceeeeeeeee 106 exporting to XML 106 general details eeeeeeeeteeeeees 106 group details 106 J Java backtrace ceceseeeeesneeeeenteeeeeeaes 16 Java Bridge 85 147 advantages eeeeeceeeecceceeeeeeceeeeeeeeeeeeees 147 applications amaaa naas 174 case studies ssssnsssesererererrrirererererene 174 CONPIQUIING PIPETO 147 Java Bridge AP 85 Java bridge data conversion 85 Java Bridge expected test output 85 OVEIVIEW asa ora a 142 147 requirements eee eeeeeeeeetteeeeeeneeeeeeaes 147 SOtinGS eege ied ies Melee 147 testing vii ee a ees Ae 85 Droublesbootinmg 85 Usage Scenarios ceccee
264. onst int SORT const int SORT const int SORT const int SORT const int SORT const int SORT const int SORT 258 BY BY BY BY BY BY BY BY ID VRE SCRIPT APPLICATION NAME PRIORITY STATUS PREDECESSOR PERSISTENCE API Reference const int SORT BY CREATION TIME const int SORT BY SCHEDULE TIME const int SORT BY START TIME const int SORT BY END TIME const int SORT ASC const int SORT DESC const int OK const int FAILED Methods void __construct string Squeue int createHttpJob string url array vars mixed options array getJobStatus int job_iad boolean removeJob int job_id boolean restartJob int job_id boolean isSuspended void static boolean isJobQueueDaemonRunning void void suspendQueue void void resumeQueue void array getStatistics void array getConfig void boolean reloadConfig void array getJobInfo int job_id array getDependentJobs int job_id array getJobsList array query int total array getApplications void array getSchedulingRules void array getSchedulingRule int ru e_id boolean deleteSchedulingRule int rule_id boolean suspendSchedulingRule int rule_id boolean resumeSchedulingRule int ru e_id boolean updateSchedulingRule int ru e_id string script array vars array options static array getCurrentJobParams void static void setCurrentJobStatus int completion string msg 259 Zend Server Refere
265. or GPC operations eseeseeneeee eeste ereere netee 285 configuring max script execution time 285 configuring PHP output buffering 285 configuring realpath cache duration 285 configuring realpath cache size 285 configuring script memory allocation limits ik T 285 declaring argv and argc variables 285 deprecated features ccccseeeee 285 registering deprecated long variable aray Seriei ir a earo deg 285 pp Int location esra eee eect ee eeeeeeeeeeeeeeees 32 PHP Java Bridge VENAE AE EE EE 174 ONOMYAQMIM sacerake rinier 137 phpMyAdmin confiourimng 137 phpMyAdmin downloadmg 137 366 phpMyAdmin Linux s s 137 phpMyAdmin Mac OS XA 137 phpMyAdmin managing MySQL 137 phpMyAdmin Windows s s s 137 Ports debugoimg eii a i 55 POST requests Gaching 153 problems dagmoeimg 16 Product version 32 Profile Event 17 El Gell lee EE 54 E ue 54 Properties ele negara tent eee 55 Q ET 2 Quality Of Genee 2 QUICK IKS rarita aia oa eaa Ei 15 R Recent Events 15 Reference Information s s s 141 registering Zend Server sses 9 Registano tA a 9 Relative settimgs 37 release version 32 Remote debugging eeseesseereeeenssenen 89 analisian na E 89 Remote Debugging Through a Firewall 89 E UE 17 reSet D ssworde ns 8 reset your password ce eeeeeeeeeeeeenteeeeeeaee 8 restore PASSWOMCS eeeeeeeeesteeeeeeeneeeeeenes 8 restricting allowed host r
266. ormance that can directly influence Web server performance Slow Request Execution Slow Request Execution rules generate an event when script execution time exceeds defined limits These event rules are used to maintain script runtime performance standards The settings can be relative to a specified percentage or set to an absolute value Severity Warning and Critical High Memory Usage Memory Usage event rules identify when scripts use excess memory resources that can in turn reduce the application s performance This type of rule is primarily used in production environments but QA teams can also benefit from monitoring by kilobyte KB or by the percentage of memory used by a script to execute The settings can be relative to a specified percentage or set to an absolute value Severity Warning and Critical Inconsistent Output Size Inconsistent Output Size event rules verify that pages render the same output to the client each time If pages do not render the same output each Zend Server Reference Manual time this indicates that some clients may be seeing different output This is an error situation Production environments use these rules to indicate possible usability issues Severity Warning Uncaught Java Exception Java exception event rules increase the visibility of issues originating in the Java side by indicating when uncaught Java exceptions occur in Java code invoked from PHP via the Java Bridge This event identif
267. orner of the screen to save all the changes made or leave the page without saving to discard the changes As soon as changes are made to this page a prompt to Restart Server is displayed Click The changes are updated in the Directives page and in your php ini file 77 Zend Server Reference Manual Working with Optimizer The Optimizer runs out of the box by default after installation Optimizer allows you to gain a performance boost by reducing code compilation time When PHP code is compiled for the first time it is saved in the server s memory Each time the code is called the pre compiled version is used instead of waiting for the code to compile which causes a delay each time the code is used Using the Optimizer should not be confused with caching The Optimizer saves a compiled script to the server s memory while Caching saves the script s output to the server s memory The general recommendation is to always keep the Optimizer set to On to boost Web application performance When Not to use Optimizer Blacklist There are some instances where it is preferable not to store PHP byte code for certain PHP files To do so you can make a list a blacklist of file names that you want the Optimizer to ignore or increase the Optimizer resource allocation Files and directives should be blacklisted under the following conditions Directories that contain files that are larger than the allocated memory defi
268. ovides developer resources including the Benchmark Tool and a search area that lists sites targeted for PHP developer use 153 Zend Server Reference Manual Zend Monitor The Zend Monitor component is integrated into the runtime environment and serves as an alerting and collection mechanism for early detection of PHP script problems The Zend Monitor is a Zend Server component that integrates into the PHP runtime environment and watches for various evenis such as errors failing functions slow scripts database errors etc When an event occurs the Zend Monitor collects and reports all the relevant debugging information This information can then be used to perform root cause analysis What is an Event Events are governed by rules created in Rule Management Monitor Rules define the nature of an event and the parameters for capturing event related information in an application Events are only created when the monitor component is running Server Setup Components By definition an event is a collection of information that can be used to investigate what caused the rule to trigger an event The information collected varies according to the rule type Aggregation If events are triggered by the same rule and have similar characteristics i e filename URL line etc they are aggregated into a single issue If they do not have similar characteristics a separate new issue is created Inside a single issue events
269. p Online Documentation The Zend Product Online Documentation Center can be easily browsed and searched as a resource for accessing the most to date information on using all Zend Products Visit http www zend com en resources zend documentation Open a Support Ticket Only Available in Zend Server If you did not find the answer to your question in any of the Support resources you can open a ticket with the Zend Support team who will answer each ticket on an individual basis This can be done through https www zend com en helpdesk newticket php Zend PHP Email Updates Sign up for Zend PHP email updates for the hottest updates special promotions and useful developer information To sign up log in to your Zend account at https Awww zend com en user myzend enter your email address and click Subscribe 10 Zend Server Reference Manual Zend Developer Zone Resource Center The Zend Developer Zone is the leading resource center for PHP developers where you can learn about PHP and meet the experts The Zend Developer Zone features the following The PHP 5 Info Center Articles and Tutorials PHP and PEAR News Weeklies Worldwide Job Classifieds Visit http devzone zend com Feedback Send feedback questions and comments on the Online Help and Documentation to documentation zend com Zend Server Reference Manual Concepts General Layout Zend Server s Administration Interface is the main area fo
270. party products including extensions Therefore if an issue for support arises please remove all third party extensions by commenting out the reference to them in your php ini before referring to the Support Center http www zend com en support center There are two types of extensions PHP extensions and Zend extensions The extension provider should supply information regarding the extension type Zend or PHP Make sure to also check the provider s documentation for possible compatibility issues PHP version compatibility and any other additional configurations that may be required To add Zend extensions 1 Download the extension Note AIX Unix Linux extensions end with the so suffix 2 Place the extension in your extensions directory To locate the extensions directory open the Administration Interface to Monitor PHP Info and check the value for the directive extension_dir By default your extensions directory is located in lt install_path gt zend lib ohp_extensions 3 Add the following line to your php ini zend_extension lt full_path_to_extension_so_file gt 4 Restart your server To restart your server Click Restart Server in the Administration Interface Ensure that the extension is properly loaded by checking the output of PHPInfo in the Administration Interface 162 Zend Server Reference Manual If you try to load a PHP extension as a Zend extension in Linux you may receive the following error mes
271. pes file specific file extensions are immediately identified when the request is received These downloads are rerouted to a separate server This essentially creates a separate process which functions as an HTTP daemon dedicated to downloads The mechanism is a PHP extension that creates a daemon to handle the rerouting when the extension loads We also provide a mime_types file and an API for explicitly directing content a file or buffer to be handled by the ZDS in parallel to using the mime_types file depending on your preferences 156 Zend Server Reference Manual Zend Job Queue Job Queues provide offline asynchronous processing of tasks and activities that can be run independently of the end user experience The Jobs approach is used for streamlining offline processing of PHP scripts It provides the ability to delay execution of heavy parts of web applications that originate from direct user interaction with a Web Server As result it may significantly improve response time and reduce Web Server load Any PHP script can create a job which will be executed later separately from a current HTTP request The job itself is just an additional HTTP request to another PHP script that can be done on the same or different Web Server As opposed to fire and forget systems like cron the Job Queue is a job management system that provides advanced capabilities such as Keeping track of batch jobs including their st
272. queue client keep alive zend_jobqueue client read timeout zend jobqueue client write timeout zend jobqueue connection timeout zend jobqueue http job timeout zend jobqueue job restart timeout zend jobqueue http job retry count zend jobqueue http job retry timeout Type Description A database connection string in PDO like format An address of TCP or UNIX socket to string listen for requests from clients and management GUI an address of HTTP server to handle URL based jobs The maximum number of HTTP based jobs which can be executed simultaneously by single back end server The maximum time in days a integer completed failed or removed job is kept in database Number of second while daemon keeps inactive connection from client Number of second while daemon is trying to read request from client Number of seconds while daemon is trying to deliver response to client Number of milliseconds while daemon integer trying to establish a connection with back end server Number of seconds while URL based job must complete The minimal number of milliseconds between job startups Number of retries in case of HTTP job failure integer D number of seconds between retries of failed HTTP jobs Report an event when the Job Queue Daemon reaches a margin between string string integer integer integer integer integer integer integer zend _jobqueue high concurrency margin allowed integer ue number of running jobs and the
273. r Default Value 1 Available since version 4 0 zend_monitor requests_statistics warmup_requests How many requests to run before deviation events are calculated to collect data for the average This is used to calculate averages for relative events Type integer Default Value 500 Available since version 4 0 zend_monitor requests_statistics request_lifetime How long in seconds to hold statistics in memory If a request is not called within that time period the statistics are reset Type integer Default Value 300 Available since version 4 0 zend_monitor events_rules_ xml_ file name The name and path to the XML file that contains the defininitons for event rules and actions This file should not be edited manually Type string Default Value events_rules xml Available since version 4 0 240 API Reference zend_monitor use_fast_timestamp Enables fast time sampling which is dependent on CPU cycles and frequency otherwise the directive uses operating system timing which may be less accurate Type boolean Default Value 1 Available since version 4 0 zend_monitor event_tracing_mode Determines integration with tracer mechanism in case of events that require a trace data dump 0 means off 1 means on 2 means standby Type integer Default Value 1 Available since version 4 0 zend_monitor aggregate_by_url_query When enabled use the URL s query string as part of the aggregation key Type bo
274. r Default Value 10 275 Zend Server Reference Manual Available since version 5 0 zend_jobqueue http_job_timeout Number of seconds while URL based job must complete After timeout expiration daemons drops the connection to back end server and sets job status to failed and completion status to timeout Type integer Units seconds Default Value 120 Available since version 5 0 zend_jobqueue job_restart_timeout The minimal number of microlliseconds between job startups Type integer Default Value 200 Available since version 5 0 zend_jobqueue http_job_retry_count Number of retries in case of HTTP job failure Type integer Default Value 10 Available since version 5 0 zend_jobqueue http_job_retry_timeout The number of seconds between retries of failed HTTP jobs Type integer Units seconds Default Value 1 Available since version 5 0 276 API Reference zend_jobqueue high_concurrency_margin_allowed Report an event when the Job Queue Daemon reaches a margin between the number of running jobs and the maximum allowed Type integer Default Value 0 Available since version 5 0 zend_jobqueue job_time_skew_allowed Report an event when a job is skewing from its defined execution time Type integer Units seconds Default Value 120 Available since version 5 0 zend_jobqueue log_verbosity_level The Log s verbosity level Type integer Default Value 2 Available since version 5 0
275. r Zend Studio resides and the machine on which the Zend Server resides When these machines are on the same local network or there are no security devices that limit remote connections no additional action is required However if one or both of the machines are behind a firewall the communication required to run the debug process is not allowed To allow debugging and still maintain a secure environment you need to use firewall tunneling For more information on how to setup firewall tunneling see Working with Firewall Tunneling 87 Zend Server Reference Manual Working with Firewall Tunneling Q Tunneling is not available for MS Windows Operating Systems Tunneling provides a means to establish a persistent connection between Zend Studio and a remote server situated behind a firewall or NAT After a firewall tunnel is created instead of assigning more communication ports for the Debug Profile Sessions with the remote server all communication between Zend Studio and the remote server proceeds through the tunnel Note for Windows users Tunneling does not work when Zend Server is installed on a Windows based server However you can perform remote debugging to a machine behind a firewall as long as the correct ports are open on both ends The tunnel communication port should be used in the following circumstances 1 When debugging or profiling files on a remote server which is behind a firewall or other security device 2 Es
276. r Administration Interface zend monitor _event_reporting Enables or disables the event reporting of some event types by passing a bit mask as done by PHP s error_reporting function but with the constants listed above in ZEND_MONITOR_ET Note You cannot enable events that are disabled in the Event Rules file 247 Zend Server Reference Manual Predefined Global Constants ZEND_MONITOR_ETBM_ALL Bitmask Representing all Event Types for zend_monitor_event_reporting ZEND_MONITOR_ETBM_NONE Bitmask Representing NO Monitoring Events for zend_monitor_event_reporting ZEND_MONITOR_ETBM_CUSTOM Custom Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_FUNC_SLOW_EXEC Function Slow Execution Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_FUNC_ERR Function Error Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_REQ SLOW_EXEC Request Slow Execution Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_REQ_REL_SLOW_EXEC Request Relative Slow Execution Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_REQ_LARGE_MEM_USAGE Request Large Memory Usage Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_REQ_REL_LARGE_MEM_USAGE Request Relative Large Memory Usage Event Type Bitmask for zend_monitor_event_reporting ZEND_MONITOR_ETBM_REQ_LARGE_OUT_SIZE Request Relateive Large Output Size Event Type Bitmask for zend_mon
277. r configuring and managing your development environment The Administration Interface is accessed through your browser by entering the link that is provided at the end of the installation process Login is done through the Password administration page that appears when you access the Administration Interface for the first time Click here for more about configuring your password Navigation through the different pages is done by clicking on the tab menus The Administration Interface is comprised of the following tabs Monitor The Monitor tab is the main area for system information and it includes Dashboard Events Jobs Queue Statistics Code Tracing Server Info PHP Info Logs Rule Management The Rule Management tab is the main area for configuring performance monitoring and Queue features and it includes Monitoring Caching Recurring Jobs Setup The Setup tab is the main area for configuring your PHP and it includes Components Extensions Directives Debugger Monitor Job Queue Administration The Administration tab is the main area for configuring your Zend Server system settings and it includes Passwords Updates In addition to the main Administration Interface Zend Server comes with a tray utility called the Zend Controller that provides quick access to 12 Zend Server Reference Manual Monitor Tab Dashboard The Dashboard page is accessed from Monitor Dashboard and is the defau
278. ray ZendJobQueue getSchedulingRules void Return Value A list of scheduling rules ZendJobQueue getSchedulingRule Returns an associative array with the properties of the scheduling rule identified by the given argument The list of the properties is the same as in getSchedulingRule Available since version 5 0 Description array ZendJobQueue getSchedulingRule int Srule_id Parameters rule_id The rule identifier Return Value Information about the scheduling rule 269 Zend Server Reference Manual ZendJobQueue deleteSchedulingRule Deletes the scheduling rule identified by the given rule_id and scheduled jobs created by this rule Available since version 5 0 Description boolean ZendJobQueue deleteSchedulingRule int Srule_id Parameters rule_id The rule identifier Return Value If scheduling rule was deleted or not deleted ZendJobQueue suspendSchedulingRule Suspends the scheduling rule identified by given rule_id and deletes scheduled jobs created by this rule Available since version 5 0 Description boolean ZendJobQueue suspendSchedulingRule int Srule_id Parameters rule_id The rule identifier Return Value If scheduling rule was suspended or not suspended 270 API Reference ZendJobQueue resumeSchedulingRule Resumes the scheduling rule identified by given rule_id and creates a corresponding scheduled job Available since version 5 0 Description boolean ZendJ
279. re is an issue with the URL you are trying to test Error Failed to Communicate with Zend Studio The communication with Zend Studio has failed Changing the Component s Log Directory Configuration options for advanced users Log File Permissions handle connection permission errors to Apache logs Windows only Windows Zend Server isn t Running Out of The Box You ve installed Zend Server successfully but an error message is displayed in the browser when you click the short cut Windows Zend Server not Loading Zend Server or a related process causes unexpected system behavior Windows Internet Explorer Blocking Zend Server IE7 running on Windows 2008 Server blocks Zend Server and prompts you to add its URL to the Trusted Zone Windows IIS URL Rewrite Setup Recommendations on which URL rewrite engine to use and where to download from Linux and Windows Support Tool Your opportunity to enable the Support team to provide better service by allowing us to gather server configuration and setup information 342 Zend Server Best Practices License Not Working This issue is relevant for all operating systems Problem While running Zend Server in Community Edition enter a new license and nothing happens Expected Result Entering a valid license should reactivate Zend monitor Zend Page Cache and Zend Download Server Solution Click Restart Server to make sure the license change is applied Still doe
280. re too many add breakpoints and run again to manually trace per query what happened Possible Solution cache the information using a Data Cache API as a PHP array or use the Page Cache to cache the presentation layer Profiler results analyze the profiler results and isolate functions areas that consume the majority of the time and analyze each function area code separately to isolate the possible cause of the problem 325 Zend Server Reference Manual Slow Request Execution Description When a specific request runs longer then a specified duration it generates an event The Slow Request Execution Rules contains the durations that trigger events either severe or normal and either relative to a specific value absolute or to a percentage relative measurement per URL Information Collected The most important details are URL As displayed in the Issue s General Details Request data Listed in the Request In most cases these details alone should be enough to indicate what happened to trigger an event Applicable Diagnostic Actions Click on a link to see how to perform each action tools are listed in order of relevance to helping solve the event Run the Profiler Open code in editor Run the Debugger View information in the Logs Run general diagnostics on the machine s performance in terms of memory and CPU usage Use URL Tracing to collect further information about this function in action
281. rking with Updates 98 Working with Zend Controller s 0saa 95 Working with Zend Download Server 93 Working with Zend Guard Loader 84 Working with Zend Server seese 64 X XML editing eeeeeeeeeeeeeeeeeeteeeeeeeeeees 34 Z RE 93 ZDS Zend Download Server 5 154 ZDS API functions 93 Zend Components staius 15 Zend Controller sseeeseeeeeeeeeene 14 62 151 Zend Controller accessing eeeeeee 62 Zend Controller adding cccceeeee 62 Zend Controller Benchmark Tool 95 151 Zend Controller configuring sseessee 62 Zend Controller customizing for different Operating SYSTEMS ee eeeeeeeeeteeeeees 62 Zend Controller developer resources 151 Zend Controller Oovernlew 151 Zend Controller Setup ccceeeeeeseeeee 95 Zend Debugger AP 143 Zend Debugger tunneling sssessseessees 91 Zend Download Server GD 142 154 Configuring 93 OVEIVICW 0 eccccccceesessseeeeceeaneeseeeess 142 154 Zend Download Server AP 93 CAMINO E 93 Zend engine 147 Zend extensions adding EE 161 Zend Framework 5 149 OVEFV EW re 142 Zend Framework version 32 Zend Framework OVervieW 00020e0 149 Zend Guard encoding are ian eeii a ea 84 IIGENSES 8s iiiad iii Ae es 145 ObDfuSCaLING BEE 84 Zend Guard Loader seseeeseeeeeeeeeeeene 145 Zend Guard EE 84 Zend Guard User Guide 145 Zend Java Ddoe AA 14
282. rol which issues to display in Monitor Events The following summary describes what happens to issues when they are created and what happens when new events are added to issues that have a changed status New events are created with the status New If the event status is Closed and a new issue occurs the event status is changed to Reopened If the event status is Ignored and a new issue occurs the event status does not change However the system continues to collect information about the event To change an issue s status 1 Go to Events and select an issue from the list 2 Inthe issue details page scroll down to the bottom and use the drop down list to select a status Closed Changing an issue s status to closed will close the issue until a new event of that type occurs and then the issue will automatically be changed to Open Open Changing an issue s status to Open can be applied to issues that are in status closed or ignored Ignore Changing an issue s status to Ignored will keep the same status even when new events occur 3 Click _ M NS to apply changes The status in the basic details area and in Monitor Events will be changed accordingly 110 Zend Server Reference Manual Working with Code Tracing Code Tracing records real time execution activity This provides an in depth diagnostic tool that will allow you to drill down to the function level to view actual performance related information and
283. rovide descriptive names and place job files in the same location In the original code replace the code you removed with a call to the Job Queue function createHttpJob In the function pass additional GET parameters in the job s URL query string to handle different data Publish the fixed code to your webserver The next time the code is used the job will be triggered inside the code To find out how the job ran go to Monitor Jobs To see what jobs are currently running go to Monitor Queue Statistics For additional information on handling jobs see Managing Jobs lt Example Ez The following example shows what the original code looks like How it will look like using the Job Queue API and what the new Job file looks like Before converting to a job lt php function validate_credit_card_number string Le preg metan Y 0 9 tAr Vl Veils KEE Vee EE Sy INS 0 227 EE AE 116 return TRUE K else return FALSE Zend Server Reference Manual e here we call the function to validate the credit card validate_cr edit_card_number _POST credit_code Instead of calling the function from inside the script we will create a job that will be executed when we specify it to run The script will be replaced with a call to the Job Queue API as follows The application script after modification lt php See SPOS ereachliic_Cawel Sq new ZendJobQueue Sts date
284. rrent request This overrides any caching settings that are configured for the current request Available since version 4 0 Description void page_cache_disable_caching void page_cache_disable_compression Does not allow the cache to perform compression on the output of the current request This overrides any compression settings that are configured for this request Available since version 4 0 Description void page_cache_disable_ compression void 230 API Reference page_cache_remove_cached_contents Clears cached contents for all requests that match a specific URL or regular expression Available since version 4 0 Description void page_cache_remove_cached_contents string SURL Parameters URL The URL or regular expression page_cache_remove_all_cached_contents Clears all cached contents Available since version 4 0 Description void page_cache_remove_all_cached_contents void 231 Zend Server Reference Manual Zend Monitor Configuration Directives Configuration Directives Summary Directive zend monitor enable zend_monitor log verbosity zend monitor log rotation size zend monitor ehm size zend_monitor max_shm segment size Type boolean integer integer integer integer zend_monitor events transport parameter string zend_monitor report super globals zend_monitor security black list zend monitor super globals to secure zend monitor max super globals string D
285. rs recommendations on which hosts to add to the Allowed Hosts list for development and production environments Securing the Administration Interface This section provides information on how to set an IP address based access control list on the Web server running the Administration Interface for the Windows Linux operating systems Configuring PHP for Security This section explores how you can add an additional security boost to your PHP applications by properly configuring your PHP runtime environment settings Configuring Debugger Access Control The how when and why you should limit IP permissions Monitor Security Blacklist How to hide certain values that are not relevant for diagnostics for security reasons Zend Server Best Practices Configuring Debugger Access Control The allowed hosts list is a list of IP addresses that are permitted to initiate a Debugger session on the Web server on which Zend Server is installed The default value for zend_debugger allow_hosts intentionally covers a wide range of IP addresses This is to make the initial installation of Zend Server compatible for a large selection of environments However this also can be a security risk as you are permitting a wide range of IP addresses to access your Web server Therefore we recommend that you limit accessibility and create a secure environment by only using specific hosts full IP address recognized by you that you are sure you want to permit to con
286. rty vendors to enable encryption between client and server All IIS versions 5 6 7 use this surf safe mode Use https connection which enables encryption Configure your Username and Password using 7 12 alpha numeric numerals Set your Password immediately after first time installation Protect your connection using Anti Virus Windows users should update their Microsoft Installation packs with the provided updates to avoid back doors and loop holes To limit IP access Enter your Web server s configuration and define the IP addresses that should be enabled Apache users should refer to the Apache documentation http httpd apache org docs 2 2 howto access html Access control by host For more information about IIS security related topics visit the following Microsoft Web site http www microsoft com technet security prodtech IIS mspx 303 Zend Server Reference Manual Configuring PHP for Security You may be able to add an additional security boost to your PHP applications by properly configuring your PHP runtime environment settings You can edit the directives below from the Administration Interface by going to Server Setup Directives Changing some of these settings may cause certain PHP Applications to stop functioning Therefore use discretion while disabling them and test you environment it is important that you fully understand the purpose of each directive before modifying it Optimal php ini configura
287. s area includes the following columns Function Name The name of the function as it appears in the code of Calls Function invocation count how many times the function was called Memory Consumed all calls bytes Graphical and numerical representation of the memory consumed by all invocations of the function To highlight disable the display of memory usage within the trace file mark the check box next to Show Memory Usage Total Running Time Total time taken by this function s invocations including nested function calls Hovering over shows a tooltip with the average time e Including Children The total request time taken by this function s invocation including nested function calls 26 Zend Server Reference Manual e Just Own Total time taken by this function s invocations not including nested function calls i e the time it tool to call other functions Located in File The file where the function was defined Internal functions are not defined in a file and therefore this column will be empty The Calls for Functions area includes the following columns Memory Consumed Total Time Own Time Called from File The file where the call happened Line the line where the call happened Total Time time consumed by the call including nested functions Own Time time consumed by the call excluding nested functions When selecting an item from the Calls for Functions list det
288. s a list of functions that trigger events either severe or normal Information Collected The most important details are URL As displayed in the Issue s General Details Request data Listed in the Request In most cases these details alone should be enough to indicate what happened to trigger an event Applicable Diagnostic Actions Click on a link to see how to perform each action tools are listed in order of relevance to helping solve the event Run the Profiler Open code in editor Run the Debugger View information in the Logs Run general diagnostics on the machine s performance in terms of memory and CPU usage Use URL Tracing to collect further information about this function in action Possible Causes and Solutions Slow queries in general indicate that there is a performance problem and they generally appear when there is a heavy load which in turn causes Web applications to perform poorly 324 Zend Server Best Practices Check the following Bottlenecks caused by un optimized queries or multiple queries such as un joined queries slow queries and multiple short queries Use the Profiler to see how many queries are running at the same time or set thresholds to find queries that take a long time to run Check to see if a different CPU intensive process was running in the background taking up the CPU and making everything run slowly Look at the amount of calls to the function are the
289. s do not need to listen to port 10088 because the Apache s distribution is used To fix this the port settings must be changed To set the Administration Interface s settings to listen to a different Web server port After changing your Apache s port setting to another port SR 1 Change the Administration Interface s port setting as follows Go to lt install_path gt gui application data usr local zendsvr httpd cont httpd conf 2 Open the file zend server ini In the section called userServer set the URL to the new port number Change the port number for directive Listen 3 Restart Apache The different installation options set different Apache configuration file locations as follows DEB Apache conf file etc apache2 apache2 conf RPM Apache conf file etc httpd conf httpd conf Tarball Apache conf file lt install_path gt apache2 conf httpd conf Mac Apache conf file usr local zend apache2 conf httpd conf BMi Apache conf file usr local zendsvr apache2 conf httpd conf 348 Zend Server Best Practices Zend Controller Cannot Run Benchmark The following message may appear after you enter a URL into the Zend Controller s benchmark Page redirected to URL Duration sec wwzendcom DR 03 04 12 pm 03 04 2 This means that the URL that you entered is not the exact URL or is being redirected for some reason In order to run the test specify an exact URL or use the suggested address and click
290. s that did not reoccur for more than expiration_days will be deleted expiration_days_ closed All Closed or Ignored issues that did not reoccur for more than expiration_days_closed will be deleted Return Value List of trace files IDs related to deleted issues 252 Zend Job Queue Configuration Directives Configuration Directives Summary Directive zend_jobqueue enable Type Modification Scope boolean PHP_INI_LSYSTEM zend jobqueue daemon connection timeout integer zend jobqueue default_ binding zend jobqueue log verbosity level zend jobqueue log rotation size zend jobqueue named queues string integer integer string PHP_INILSYSTEM PHP_INILSYSTEM PHP_INI_LSYSTEM PHP_INI_ALL PHP_INI_ALL API Reference Description Enables the Job Queue The default connection timeout to the Job Queue Daemon Default binding to the Job Queue Daemon The log verbosity level 0 5 The maximum size of the log file before it is rotated This directive provides the ability to use aliases instead of bindings for Job Queue names 253 Zend Server Reference Manual Configuration Directive Details zend_jobqueue enable Enables the Job Queue Type boolean Default Value 1 Available since version 5 0 zend_jobqueue daemon_connection_timeout The default connection timeout to the Job Queue Daemon It can be overridden using a parameter to ZendJobQueue constructor Type integer
291. s the output size s deviation percentage i e the amount of output the request has to generate in order to trigger an event Information Collected The output size in the Group Details helps to analyze the nature of the event For example if the output size is 0 you can determine that nothing was outputted and try to understand why Generally PHP errors and Function errors are generated at the same time as the Inconsistent Output Size error which can provide further information Applicable Diagnostic Actions Click on a link to see how to perform each action tools are listed in order of relevance to helping solve the event Run the Debugger View information in the Logs Open code in editor Run the Profiler Possible Causes and Solutions Small Output Sizes It is important to look at the results that show a smaller output size to help identify why this output was so large This usually indicates that the requested output was not fully generated Possible Solution Look for related PHP errors and Function Errors and then view the PHP and Web server logs for further details 329 Zend Server Reference Manual PHP Error Description When a specific PHP error is reported it generates an event The PHP Error Rule contains a list of monitored PHP error types This event type complements the error_reporting settings in your php ini by reporting specific errors even if they are set to disabled in your php ini
292. sage in your server s error log lt extension_name gt doesn t appear to be a valid Zend extension If this occurs remove it and add it as a PHP extension following the instructions under To Add PHP Extensions below To add PHP extensions 1 Download the third party extension Many third party extensions can be found at http pecl php net Extensions are obtained directly from external web repositories 2 Place the PHP extension in your extensions directory To locate the extensions directory open your php ini and check the value for the directive extension_dir By default your extensions directory is located in lt install_path gt lib php_extensions 3 Add the following line to your php ini extension lt my_extension_name gt so Ensure that you replace lt my_extension_name gt with your extension s name 4 Restart your Web server Ensure that the extension is properly loaded by checking the Administration Interface See Monitor PHP Info for the output of PHP Info The extensions appear in your Administration Interface under the Extensions tab and you can use the Administration Interface to load and unload the extension Adding Extensions for Windows The following procedure describes how to download compiled extensions for Wndows DLL files Windows Note When downloading extensions for Windows from PECL make sure to download the non thread safe NTS version ONLY S To download extensions 1 Go to http Awww php
293. se problems by fine tuning Event rules to accommodate normal occurrences or resolve actual run time problems and errors The integration with Zend Studio makes it easy to diagnose problems and errors using the Debug Event and Profile Event options In addition problems in code can be immediately resolved using the Zend Studio Editor The Zend Studio Editor makes it possible to both implement and deploy changes right away not only to a single server but also to all the nodes that belong to the same Group Code tracing provides an additional layer for analyzing Events can be preserved to leave an indicator of these occurrences if necessary 293 Zend Server Reference Manual Configuring for Production or Development In general the best practice is the same tune monitoring rules and thresholds to provide the information you need without creating an overflow of events that you are not able to handle This means that in development you may want focus on a specific rule type each time or set high thresholds and gradually modify them In production it is preferred that you already come with an estimate of the thresholds that are necessary The difference between development and production is that usually in development environments you have to work very hard in order to have such an overflow development environments are low traffic low load systems Additionally the performance impact is negligible in development environment In production
294. since version 4 0 287 Zend Server Best Practices Welcome to the Zend Server Best Practices Guide The following content is a collection of knowledge and information based on the experience of Zend s Development and Product Management team and the PHP community In this document you will find reference information on the following development issues The Performance section describes how to increase performance using Zend Server The Security section lists several additional security precautions you can take to secure your Zend Server installation and Web application The Development section includes instructions and tips for developers The Deployment section describes the different deployment options to remote servers hosting etc and how to go live with your Web application The IIS Best Practices includes instructions and tips for configuring IIS on Windows The Troubleshoot section includes solutions to known issues possible problems and an error message reference If you have a tip or best practice that you would like to see here please feel free to send it to documentation zend com 288 Zend Server Best Practices Performance In the Performance section you will find information on how to configure and optimize Zend Server and components to increase performance This document includes information on the following performance issues Qptimizing Zend Server Performance This section provides a
295. sing the Job Queue API Off Jobs will not run option is running otherwise it could cause your code to fail with an undefined method fatal error Zend Monitor On Event information as defined in Rule Management Monitor is collected and displayed in Monitor Events Off Disables the Monitor component Event information is not collected Zend On PHP is optimized This component stores information and Optimizer Off PHP is not optimized therefore has an additional action for clearing information Zend Page On Activates the page cache This component stores information and Cache URLs associated with caching therefore has an additional action for rules are cached Off Disables the page cache URLs marked to be cached are not cached clearing information For more information on adding additional components see the Installation Guide The On Off Status is used to configure your php ini according to the components you want to load If you intend to use functions related to a component in your code verify that the extension is enabled and that the status is set to On Hovering with the curser over the Information icon displays a brief component description 46 Zend Server Reference Manual Extensions The PHP Extensions page is accessed from Server Setup Extensions The PHP Extensions page provides a convenient way to view and configure extensions Use this page to con
296. sk with limited lifetime 3 rE enee Chighke Cacine store WineSs tese eelu 2 3 isles 4 CChomucrata tlle yat exit Shared memory if zend_shm_cache_store ns3 test_tt1l 2 3 false acing Uess 2 Vials exit Zend Server Reference Manual namespace Support Using namespaces for caching provides the ability to define a key that can serve as an identifier to delete select items from the cache rather than unnecessarily removing shared instances namespace support is intended for environments that run large applications that are separated into modules Applying a namespace to each module provides the identification necessary to pinpoint all the cached items that belong to a given module and remove only those specific items This does not mean that you must use the namespaces to clear the cache The entire cache can be cleared by using the output_cache_remove function Setting the cached namespace The cache namespace is set by adding it as a prefix to the cache with as the separator 1 Example This example shows how to manipulate variable caching using a namespace zend_disk_cache_store mMy_namespace my_key data is fetched with zend_disk_cache_fetch my_namespace my_key zend_shm_cache_clear my_namespace clears all the keys that start with my_namespace Cache Folder Depth Configuration Defining the Cache folder depth is intended for environments that us
297. sn t Help Try to manually Restart your PHP from the command line or go to the Zend Support Center http www zend com en support center for information about our support options 343 Zend Server Reference Manual Support Tool Linux and Windows only The Zend Support Tool gathers server configurations and setup information The gathered information is used to help Zend s support team to troubleshoot support issues and provide comprehensive and efficient support Collected Information In general the information collected is defined in the definition file If for security reasons you do not want to disclose specific information you can edit the file to not include that information However the more information the support team can access the better the chance of quickly resolving support related issues Linux en To run the support tool lt install_path gt bin bugreport sh 344 Zend Server Best Practices The default location for saving the files is TMPDIR zend_server_report_bug_ TIMESTAMP tar gz If TMPDIR is not defined it results to tmp The definition file is located in lt install_path gt share bugreport files This file contains the definitions for which files and directories to collect Through this file you can also define the name that will be used to create the archive in case you do not want to use the default name Example etc apache2 cont d apache_conf d Means take the contents of the
298. specified date Occurred After Only show events that first happened after the specified date Rule Name Only show rules of a specific type Occurred at Filter to display the results for each server Severity Filter to display Severe or Warning events Event Type Filter by Event Type Status Show events by status Open Closed Reopened or Ignored Filter Unsaved Custom Filte Hide Filter Details Goto eventbyld Go Status Mopen Cclosed MeReopened Clignored x Add Conditions Rule Name Date Instances occurred after ra and before rg x Origin Severity Owarning Critical x Apply Filter Save Filter As 102 Zend Server Reference Manual The following procedure describes how to create a filter for events Events can be filtered by one or more of the categories To filter events LJ 1 Inthe Events page click Show Filter Details A filter controller is added beneath the filter To hide the filter controller click Hide Filter Details 2 On the right hand side click on a filter type to add Each time a different filter is added an additional selection area will appear in the filter area You can add as many filters you like Each time a filter is selected a new selection area is added To delete a specific filter option click the delete button X Set your preferences according to the filter type For example set a date range for the Date filter 5 When you have finish
299. splay the same information Only information relevant to the specific event type will be shown The following actions can be performed from the Event Details page Ca Back to Events Returns to the Events page a 9 Refresh Refreshes the report Refreshing the report updates the event counter if the event occurred additional times F Detach Opens the report in a new browser window Change Status Changes the status of the event displayed For a complete explanation of event handling see Working with Events 15 Zend Server Reference Manual On the Event Details page users can view a general summary of an occurrence its status and diagnose the occurrence with Zend Studio for Eclipse Event Detail Information The following list describes the information types displayed in the Event Details Page Top Bar Number of Occurrences The accumulated amount of times the event was triggered between the first time the event occurred and the last time the event occurred Refreshing the report updates this number if the event occurred additional times Status The status if the event Open Closed Reopened and Ignored For a specific event the status can be changed in the Event Details page For multiple events the status can be changed in the Events page Severity The severity of the event Warning or Critical The severity is defined in the event s master settings in the Monitoring tab
300. sponses sent out from PHP Page Caching permits dramatically improving the performance of pages on web applications sometimes running as high as 10x 20x and even 100x times faster while maintaining dynamic capabilities through an elaborate system of caching rules that could be based on request parameters and user session data 129 Zend Server Reference Manual Zend Framework Cache API The Zend Framework Cache API is a standardized open source caching solution This grants you the freedom to not only configure it based on your needs but also to contribute extensions and fixes and benefit from contributions from other developers The Zend framework API has pluggable backends so that you can create a generic implementation and swap the backend with different solutions such as memcache APC and the Data Cache API Using the Data Cache API provides an additional advantage as it allows you to use an option that is integrated into Zend Server gain a certain amount of control such as the ability to turn on off the component and manually clear the cache with a click of a button 130 Zend Server Reference Manual Working with Data Cache The Data Cache API is used the same way as any other API By inserting the API functions into your PHP code The Data Cache component uses an API to cache partial PHP outputs using memory or disk The Data Cache API includes the following functionality Storing variables to the Cache Fetching varia
301. t eee eeeeeeeesteeeeees 59 updates recommended renesse 59 updates FEMOVING eeeeeeeeeeeteeeeeenteeeeteee 59 Updates Status cccceeeeeeeeteeeeeeeeeeees 59 updating Zend Server sssssssnnsssenneneeee 98 URL content elle WEE 43 URLs page Cachimg 44 SOtuNG gedet oe Fone nies 44 Usage Scenarios cc ccccceceeeesseneeeeeeeeeeenees 174 V variables A e E E 129 COOKIES daenna EE 44 ET EES 44 Globalias nti veins Anis aha 44 SOW Chis i a ede 44 Session 44 version information ccccsseeeeessteeeeeees 33 View a Log serrera a KRREEEERENEEEEEENn 75 view event details cceceeeeeteeeeeteees 16 viewing event details 0 0 0 eeeeeeeeeeeees 16 Viewing Event Details 103 W Watched Funchons 99 Web application performance 144 Web server 368 tOSUNG DEE 67 Web server ID 32 When Not to Cache Pages 153 When to Cache Pages 153 WiIdeardS i eonna 89 Working with Caching 132 Working with Components ssseessee eee 78 Working with Data Cache 129 Working with Directives eee 80 Working with Event Details 106 Working with Events seese 103 Working with Firewall Tunneling 91 Working with Java Bridge 0 cecee 85 Working with Local Debugging 88 Working with Loge 75 Working with Monitoring 0 0 ceee 99 Working with phpMyAdmin to Manage MYSQL 18 8 8s net dee AO 137 Working with the Debugger s es 89 Wo
302. t Settings Settings for using the integration with Zend Studio to debug profile and view event source code Automatically Detect Zend Studio Settings On Automatically Detect Zend Studio Settings Off When you click to turn auto detect off the following additional fields will be displayed Enter the correct information to enable integration with Zend Studio e Zend Studio IP address Manually configure the IP address according to the settings in Zend Studio or use Auto Detect e Use Browser IP Address check box Automatically selects the Browser s IP Address e Zend Siudio debug port Manually configure the port according to the settings in Zend Studio or use Auto Detect e Encrypt communication using SSL check box increase the security protocol for communication Manual configuration settings should be based on the IP and port configured in Zend Studio s Installed Debuggers preferences page The preferences page is accessed from Window Preferences PHP Debug Installed Debuggers Click Configure to view and change the preferences The default port number is 20080 50 Zend Server Reference Manual Mail Server Settings Define the action settings for rules that use the action Send Mal The Send Mail action sends an email that includes the event details and a link back to the Zend Server Administration Interface to the address es listed in the event rule 9 If you do not plan to send email notifications for eve
303. t development package installed run usr local zend bin pecl install newt The truncated output of this command along with explanations PECL retrieves the package from the repository downloading newt 1 2 1 tgz Starting to download newt 1 2 1 tgz 24 853 bytes E done 24 853 bytes 5 source files building Tas phpize gerlpe LS eebe on running phpize Comic engm aer O PHP Api Version 20041225 Zend Module Api No 20060613 Zend Extension Api No 220060519 building in var tmp pear build root newt 1 2 1 Configure comes into play running tmp pear download newt 1 2 1 configure checking for grep that handles long lines and e bin grep checking for egrep bin grep E checking for a sed that does not ELUMEAEE been oo loilin Secl Checking ror GEC Gee Checking ror C compiler default output file name a out checking whether the C compiler works yes checking whether we are cross compiling no checking for suffix of executables Caseking OW EE Cie deene cilessa c Next comes libtool creating libtool appending configuration tag CXX to libtool COMELCGUMMES erectin eonim Eer COMELC GEQEUSS erca et Gen er Zend Server Reference Manual The actual compilation process calls make which internally triggers GCC and LD running make bin sh var tmp pear build root newt 1 2 1 libtool mode compile gcc I1 I tmp pear download newt 1 2 1 DPHP_ATOM_INC I var tmp pear bui
304. tablishing communication between Zend Studio and Zend Server when Zend Server is running on a remote server which is behind a firewall or other security device The communication between Zend Studio and Zend Server facilitates the integration of Zend Server event reporting capabilities with Zend Studio s editing debugging and profiling features and makes it more effective To set up a tunneling connection several configuration settings must be defined both in Zend Studio and on your server s debugger This can be done through Zend Server Zend Platform Zend Core or your php ini file 88 Zend Server Reference Manual Setting up Tunneling in Zend Server The following procedure describes how to define allowed hosts for firewall tunneling Users define allowed hosts for firewall tunneling to create a list of IP addresses of computers that run Zend Studio that connect to Zend Server for debugging purposes in situations when a firewall stands between the machines Before setting up tunneling verify that the IP of the machine running Zend Studio is set as an allowed host in Setup Debugger The following instructions define how to configure Zend Server s side for tunneling Additional Zend Studio configurations are required to complete the process To define allowed hosts for firewall tunneling SR 1 Inthe Administration Interface go to Setup Debugger 2 Inthe Allowed Zend Studio Clients for Debugging section enter a vali
305. that can assist a developer in diagnosing the event More advanced diagnostic information includes information about the request that generated the event or backtrace information Each event type is slightly different and therefore the information collected and displayed for each event may differ For example a Slow Request event does not include information on a source file or line of code because the event was generated by a request The same is true for Java backtrace information Java backtrace information is only included for Java exception events 14 Zend Server Reference Manual Event Details The Event Details page is accessed from Monitor Events by selecting an event from the list and clicking on the row The Event Details page is the main display area for information regarding the occurrence of a specific type of event Information on how an event is triggered is presented in Event Rules 133081 PHP Error Page last refreshed 05 Sep 2010 11 48 ge oO L Occurred once at 05 Sep 2010 11 36 Status Open Severity Warning URL http localhosttestissues php Source File Nvarwwwitestissues php 29 Function Data Request Serer Backtrace Error Data Show Code Tracing __ Export 05 Sep 11 36 hae Function Name fopen Function Arguments 1 fusr bin t 2 age Zend Studio Diagnostics Debug Event Profile Event Show File in Zend Studio Settings Change status to Closed E Change Not all events di
306. the Optimizer Improve performance by running the Optimizer Working with Zend Guard Loader How to use the Guard Loader component Run code encoded with Zend Guard Working with Java Bridge How to use the Java Bridge Extend your PHP code to reach out to Java functionality in runtime 60 Zend Server Reference Manual Task Description Outcome Working with the Debugger How to configure the Debugger to debug and profile code running with Zend Server Use the local and remote debugging features in Zend Studio for Eclipse Working with Local Debugging How to configure the Debugger to debug and profile code running with Zend Server Use the local debugging feature in Zend Studio for Eclipse Working with Firewall Tunneling How to configure communication between Zend Server and Zend Studio for Eclipse when there is a firewall Debug PHP applications through a firewall using Zend Studio for Eclipse Working with Zend Download Server How to configure the Zend Download Server to manage large file downloads Create a list of files to be offloaded Working with Zend Controller How to configure your Zend Controller and use it to activate components and benchmark URLs Use the Zend Controller The configuration creates a start button In the system tray Working with Updates How to update Zend Server using the
307. the event ID The event is displayed cp 3 In the opened issue click Detach S The issue is opened in a new popup and the main page returns to the Events list Once an issue is detached it cannot be re attached This process can be repeated to open several issues at the same time Advanced Tasks Issues contain different types of information and actions that allow you to detect the source and drill down to investigate what caused a problem In some cases and depending on the type of event that happened the information also indicates the solution For example issue information includes the exact line of code that has a problem and the nature of the problem Basic Details The first layer of issue details are the basic details These details are used to identify an issue with high level characteristics Every issue includes the following basic details ID and Rule Name The ID number is a unique identifier for a specific issue The Rule Name states the rule defined in Rule Management Monitoring that triggered the event The ID number can be used to locate a specific issue using Goto avent dykt in Monitor Events The Rule Name indicates the rule that triggered the event Several issues can be triggered by the same rule Knowing the rule name makes it easy to find the rule if you want to modify the rule settings Rule Management Monitoring Edit Occurrence Info An issue is a collection of aggregated events This
308. the jobs that have run are running and are scheduled to run including jobs that were created with the Zend Job Queue API There are a few ways that Zend Server allows you to manage the jobs listed in the jobs page 1 Global Settings In Server Setup Job Queue you can use the option define when to clear completed and failed jobs 2 Manually Using the Delete option in Monitor Jobs allows you to manually delete one or more jobs from the list The deletion process removes the job and its history completely 3 Filtering The filter allows you to view a selection of jobs by category this is especially useful when there are a lot of jobs in the system There is a predefined filter that allows you to filter by failed jobs and you can add an unlimited number of filters 4 Additional Information View the job s details to view additional information such as extended status information headers output and if the job while running generated an error 125 Zend Server Reference Manual Filtering Jobs To access the Jobs page go to Monitor jobs The filter allows you to view a selection of jobs by category this is especially useful when there are a lot of jobs in the system There is a predefined filter that allows you to filter by failed jobs and you can add an unlimited number of filters The following prcedures describe how to create and maintain filters J To create a filter 1 2 In Monitor Jobs click Show Filter
309. the last exception is stored by the Java Bridge Available since version 3 6 Description object java_last_exception_get void Return Value Java exception object if there was an exception NULL otherwise 217 Zend Server Reference Manual java_last_exception_clear Clears the last Java exception object record from the Java Bridge storage Available since version 3 6 Description void java_last_exception_clear void java_set_ignore_case Sets the case sensitivity for Java calls when there are mixed cases in your PHP script Available since version 3 6 Description void java_set_ignore_case boolean Signore Parameters ignore If set the Java attribute and method names are resolved regardless of case java_throw_exceptions Controls if exceptions are thrown on Java exception When an exception is thrown by a Java application this function controls if the exception caught by the PHP code will continue to be thrown or not if not it is stored in the Java Bridge s internal memory Available since version 3 6 Description void java_throw_exceptions int Sthrow Parameters throw If true a PHP exception is thrown when a Java exception happens If set to FALSE use java_last_exception_get to check for exceptions 218 API Reference java_set_encoding Sets encoding for strings received by Java from the PHP code to verify that the encoding is the same in the PHP and Java code Available since version 3 6
310. there is an important message If you receive a message like this in most cases no action is required apart from reading the information i This is an info message For example Log file C Program Files Zend Apache2a logs error log does not exist or missing read permissions When this Server Error Log Info Message is displayed one of the following has occurred No log files are available a Files have been moved Permissions have been tampered with 182 API Reference The API reference includes reference information for working with the API s Each page includes a description of the component along with the functions for interacting with the component and the directives for configuring the component s behavior as follows Zend Debugger Configuration Directives Zend Optimizer Directives Zend Optimizer PHP API Zend Guard Loader Configuration Directives Zend Guard Loader PHP API Zend Data Cache Configuration Directives Zend Data Cache PHP API Zend Java Bridge Configuration Directives Zend Java Bridge PHP API The Java Exception Class Zend Download Server Configuration Directives Zend Download Server PHP API Zend Page Cache Configuration Directives Zend Page Cache PHP API Zend Monitor Node Daemon Configuration Directives Zend Monitor PHP API Zend Monitor Ul extension PHP API Zend Job Queue Configuration Directives Zend Job Queue
311. tion is enabled Array contents recording is enabled Output data writing collection is enabled Output headers collection is enabled Memory usage data collection is enabled PHP error collection is enabled Zend Monitor event recording is enabled Trace data is always persisted Trace data is persisted if fatal signal like Segmentation Fault happens Minimum amount of seconds between successive dumps Log file for the Code Tracing module relative to the log dir Logging verbosity level List of overriding functions Number of concurrent trace buffer allocated The maximum size of the log file before it is rotated 279 Zend Server Reference Manual Configuration Directive Details zend_codetracing enable Is tracing functionality enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing buffer_size The size of the trace memory buffer Type string Units Bytes Default Value 1M Available since version 4 0 zend_codetracing dump_format The type of dump produced Type integer Default Value 2 Available since version 4 0 zend_codetracing max_string The maximal length of the string before it is cut Type integer Units Bytes Default Value 48 Available since version 4 0 zend_codetracing max_depth The maximal depth of the array preserved Type integer Default Value 2 Available since version 4 0 280 zend_codetracing max_elements The ma
312. tions and settings for maximum security protection from external threats Name Default Optimal Value Description disable_functions This directive allows you to disable certain functions for security reasons It takes on a comma delimited list of function names disable_functions is not affected by Safe Mode This directive must be set in the php ini file For example you cannot set this in httpd conf disable_classes This directive allows you to disable certain classes for security reasons It takes on a comma delimited list of class names The disable_classes directive is not affected by Safe Mode This directive must be set in php ini For example you cannot set this in httpd conf magic_qotes_gpc Sets the magic_quotes state for GPC Get Post Cookie operations When magic_quotes are on all single quotes double quotes backslash and NULLs are escaped with a backslash automatically allow_url_include This option allows the use of URL aware fopen wrappers with the following functions include include_once require require_once Note This setting requires that allow_url_fopen be set to On 304 Zend Server Best Practices Name Default Optimal Value Description expose_php 0 Decides whether PHP may expose the fact that it is installed on the server e g by adding its signature to the Web server header It is no security threat
313. tions available for navigating inside a selected log file Start displays the first X lines of the log file LJ Prev shows the previous X lines of the log file Next Shows the Next X lines of the log file End displays the last X lines of the log file X represents the number of lines that you specified in the Show option Show L A es The default value is 20 Activate Auto refresh The following procedure describes how to activate and deactivate the Auto refresh option The Auto refresh option sets the log information to display the most recent log entries in the last lines of the log that is currently being viewed Therefore as the log changes over time the content in the view is always current This feature provides an easy way to view errors in almost real time Because the refresh rate is in seconds there is at least a 3 5 second display lag which is why the Auto refresh feature is not considered true real time logging E To activate Auto refresh 1 Select a log to display 2 Click the Auto refresh check box to automatically refresh the log information As long as the log is displayed the information is refreshed Each time you choose another log or exit the page the settings are reset 72 Zend Server Reference Manual Advanced Add logs to the list of logs in the Log View list It is possible to add and display other logs that are specific to your environment in the Log Tail page To add other lo
314. tivityTimeout 30 Advanced IdleTimeout 300 QueueLength 1000 RapidFailPerMinute 10 RequestTimeout 90 Activity Timeout Specifies the time in seconds that a FastCGI process For this application is allowed to run without communicating with IIS en 5 Tweak the variables as necessary The recommended Zend default is Maxinstances 10 and InstanceMaxRequests 1 0000 Depending on which settings you change the Web server s memory and CPU consumption are adjusted 339 Zend Server Reference Manual Configuring IIS Timeouts The following instructions are intended for running Zend Server with PHP FastCGI on Windows Issue The default timeout settings for FastCGI may cause runtime failures for scripts that run longer than 30 seconds Resolution If you know that you have scripts that run more than 30 seconds set your FastCgi and PHP to a longer script timeout duration FastCgi Settings This procedure describes how to change your FastCgi timeout settings according to webserver type and version Apache 32bit Open C Program Files Zend ZendServer etc and in ZendEnablerConf xml the defaults should be changed to lt Timeouts connectionTimeout lt Number of Seconds gt requestTimeout lt Number of Seconds gt Apache 64bit Open C Program Files x86 Zend ZendServer etc and in ZendEnablerConf xml the defaults should be changed to lt Timeouts connectionTimeout lt Number of Seconds gt requestTimeout lt Nu
315. tnn tennan nn nnt 111 CTO ATING A 0 EEN 115 O e Un e Be EE 123 Working with Cachimg nanen ennenen 128 Working with Data Cache 131 Cache Folder Depth Confguraton 133 Working Rut ee EE 134 Working with phpMyAdmin to Manage Mv GOL eee eecee eee eeneesneeeaeesaeeseeeeesnaeeaaes 139 Working with phpMyAdmin to Manage Mv GOL eee eeceereeeeeeneesneesaeeseeeseeseesaeeaaes 139 Working with MySQL Server LINUX ccccccceceeseeeeeeeeeceneeeeeaeeeeaeesesaeeesaaesseeeeseaeeesaeeeeaeeeenees 140 Working with MySQL Server Windows sessssssssessisssiessiesrissritsrinstisstinttinttnnstnnntnnnennnennnnt 142 Reference Information cccecccccescecesceceecceceeeeeeeaeeeeeneeceeeeecaaeseeaaeseeeesaeeesaaeseeaeeseeeeseaaeseeaeeeseeeess 143 COMPONENTS ink haere Ae cei eee ts ia ee Av eed 144 ZENG Debugger aien aiei vee deeg dee eege Nee vay lve Ea db veles 145 Zend OPUMIZE Hs EE 146 Zend Guard LOA EE 147 Zend Guard WEE 147 Zend Data Cache Eeer e dees d e ed via Sede av eee neta Aes 148 ZENG JAVA Bridge 2 cece deevs sade deed duel deve i i eu beled a bees a a a eevee ley 149 Lend edu TEE 151 Zend Keelt el 153 ZOMG MONON EE 154 Zend Page Te 155 Zend Download SCV r a aaraa Peach aa Headed aE a n teens evan aa Ae ebb eetegt ane Aaaa naa aves 156 Zend Ro el 157 Zend Code Tracing DEE 160 eeler E E 162 ei ul elle WE te 165 UNIX Compiling PHP Extensions 0 cccceeesseeeeeeeeeeeeeeaeeeeeeeeeeaeeeeaaeeseaeeseeeesaeeeeaeeeeneeee 167 Loa
316. to several pages When to Cache Pages Pages should be cached when their content is stable and does not require frequent changes You can cache any PHP generated output including HTML XML and images if the images are generated by PHP such as graphs and charts Compression should be used to cache content such as HTML XML and plain text but is not recommended for caching binary output When Not to Cache Pages Caching is not recommended for files that have constantly changing output such as clocks timers and database queries Compression should not be used for images PDF files exe files ZIP files or any other compressed binary formats Zend Page Cache only caches GET and HEAD HTTP requests To comply with the HTTP RFC POST requests are never cached All cached content is stored in a hashed directory structure on disk The location is defined by the directive zend_pagecache save_path Caching Alternatives Web pages that contain sections that continuously change can also be cached This partial page caching solution can be accomplished by applying the Data Cache API to the portions of code that do not change Data caching is an intermediate solution to provide a partial performance boost that can sustain the accuracy of changing content To find out more about this alternative go to Data Cache 155 Zend Server Reference Manual Zend Download Server S This component is not relevant for Windows and IBM i Servers The ZD
317. to the relevant function in the Statistics tab 25 Zend Server Reference Manual Code Tracing Statistics Code Tracing Tree is accessed from Monitor Tracing by selecting a trace ID from the list The Statistics per Function tab is a table based display that provides a statistical perspective of the data captured in the request The same data is displayed in two different ways The All functions area at the top that lists all the functions included in the dump for a certain occurrence and the Calls for Functions area at the bottom that displays the function calls for a function selected from the list by clicking on the function Use this tab to investigate performance information such as the slowest function sorting the table by own time will help pinpoint this Tracing ID 0 19482 99 02 Sep 2010 15 58 Tracing Tree Statistics per Function V Show memory usage Showing 8 out of 8 functions Filter by name M Total running time all calls lemory consumed Function Name of Calls all calls bytes Children Just own Located in file Events cre ateEvents 2 364 bytes 0 03 ms issues php gt E Events functionErrorPhpO 3 324 bytes 0 53 ms lt 0 01 ms issues php y fopenQ 1 A 3 300 bytes 0 52 ms 0 52 ms Events functionErrorEvent g 76 bytes lt 0 01 ms lt 0 01 ms issues php Calls for Events slowFunctionEvent 124 bytes CSR S eme vi The All Function
318. treated as an application octet stream custom_headers User defined HTTP headers that are sent instead of the regular ZDS headers If nothing is specified a few essential headers are sent anyway Return Value 225 Zend Server Reference Manual zend send buffer Ouputs the contents of a string buffer to a client using ZDS and terminates the script Description void Send send buffer string Sbuffer string Smime_type string Scustom_headers Parameters buffer The actual content for the output mime_type MIME type of the file If nothing is specified the file is treated as an application octet stream custom_headers User defined HTTP headers that will be sent instead of regular ZDS headers If nothing is specified a few essential headers are sent anyway Return Value zds_get_pid Returns the download server s process ID Description int zds_get_pid void Return Value The download server s process ID 226 API Reference Zend Page Cache Configuration Directives Configuration Directives Summary Modification SE Directive Type Scope Description zend_pagecache enable boolean bp IN SYSTEM ENables the Zend Page Cache extension Location where the cache zend pagecache save path string PHP_INI_SYSTEM files are saved This must point to an existing location Depth of directory tree in which cached files are stored zend pagecache log verbosity level integer PHP_INI_SYSTEM The log verbosity
319. trol and configure extensions that are loaded in your environment To find out how to add more extensions to this list see Adding Extensions and UNIX Compiling PHP Extensions for Zend Server PHP extensions are sets of instructions that add functionality to your PHP Extensions can also be employed to recycle frequently used code You can place a set of functions into one extension and instruct your projects to utilize the extension Another use for PHP extensions is to improve efficiency and or speed Some processor intensive functions can be better coded as an extension rather than as straight PHP code The Extensions page is list of the extensions included with the Zend Server installation and extensions added to the php ini by the user Use the Extensions page to view the status of all your extensions and to quickly and easily load and unload extensions You can also configure directives associated with certain extensions Extensions with directives that can be configured have a Configure link next to them Clicking the link opens the PHP Directives page filtered to the exact directives associated with the particular extension Click the All option in the PHP directives page to see a complete list of directives From this page when applicable for each extension you can Turn Off The extension is not running on the machine and code that includes the Extension s functions works Turn On The extension is running on the machine
320. tus On Off Disabled A description of what each status means can be found in the PHP Extension List 143 Zend Server Reference Manual Components Zend Server is comprised of several components that each contributes important functionality to facilitate the development process The components are Zend Debugger The Zend Debugger communicates with the Zend PHP Engine to retrieve runtime information and present it in Zend Studio for root cause analysis Zend Optimizer The Zend Optimizer component speeds up PHP execution via opcode caching and optimization Zend Guard Loader The Zend Guard Loader is used in order to run PHP scripts that are encoded with Zend Guard Zend Data Cache The Zend Data Cache component provides a set of PHP functions to improve performance by storing data in the cache Zend Java Bridge The Zend Java Bridge component makes it possible to use Java classes and code from within PHP Zend Framework An open source framework for developing Web applications and Web services with PHP Zend Monitor The Zend Monitor component is integrated into the runtime environment and serves as an alerting and collection mechanism for early detection of PHP script problems Zend Page Cache The Zend Page Cache component is used to cache the entire output of PHP scripts without changing the PHP code ZDS Zend Download Server The ZDS Zend Download Server component improves Apache s scalability by m
321. ual About Zend Server includes a tested and certified version of PHP and a set of tools to set up and optimize your environment These tools are presented in an improved Administration Interface designed to provide all the tools and technology necessary to support PHP environments Special attention has been given to creating consistency across operating systems to ensure interoperability and facilitate the needs of diverse environments that use Linux and Windows The PHP versions are PHP 5 2 and PHP 5 3 which have been tested and optimized for development use Commonly used extensions and Zend Framework are included with the PHP to provide a one stop shop for all the resources that developers need to create PHP Web applications A complementary set of tools is provided with Zend Server to optimize and extend your PHP capabilities The tools included in Zend Server are described in detail in the Components Section Instructions on how to work with each component are provided in the Tasks section where each possible task is described in detail from start to end To get started with Zend Server click here Installation Directories Not all users decide to install their software in the same location To reflect this actuality all paths in this document have been replaced with the following prefix lt install_path gt This represents the location of the installed files If you used the default settings the location should be as follows
322. us for World Wide Web Publishing Service W3SVC Running amp 61664 installed Run a Test on Your Web Server Purpose To verify that the installed Web server is running properly Result The Hello World message is displayed in your browser This procedure describes how to run a test PHP script E To run a simple test script 1 Create a file called hello php 2 Enter the following code into the file lt php echo Hello World RS The Hello World message is displayed when the code runs in a browser 1 Save the file in your Apache document root directory Only files in this directory are serviced by the Web server For information about the document root directory see Deploying Code with Zend Server 65 Zend Server Reference Manual 2 Open a browser and enter the following URL http localhost lt port number gt hello php Replace lt port number gt with the port you are using The default values are port 80 for Windows DEB and RPM and port 10088 for the other operating systems unless you manually changed the port assignment Your browser displays the Hello World message Configure Debugger Access Control Purpose To enable PHP debugging using Zend Studio and Zend Server Result You are able to debug your PHP code and view the results in Zend Studio Before working with the Debugger configure the allowed hosts in Server Setup Debugger By default Zend Server comes with a permissive setting that al
323. user experience by monitoring PHP application execution and alerting you to critical problems such as Slow PHP script execution PHP errors Errors in specific function calls Excess memory usage Errors in called Java code And more Quickly Pinpoint Root Cause of Problem Knowing that a problem occurred is an essential first step yet what really counts is how fast you can isolate its root cause and deliver a solution Zend Server slashes root cause analysis time by capturing application execution data such as variable values call stack and environment information for every detected incident Developers can further analyze captured data in Zend Studio thereby eliminating the time consuming task of reproducing production problems in a lab Zend Server Reference Manual Boost Application Performance A high quality user experience is expected from business critical Web applications even during peak loads yet deploying more hardware to increase performance may prove to be costly Zend Server provides multiple capabilities for improving application response times and minimizing resource utilization Code Acceleration PHP bytecode caching increases performance with no application changes Full page caching A URL based HTML output cache that does not require any application changes Partial page caching A set of functions that allow developers to cache data in shared memory or to disk Zend Server Reference Man
324. ution 37 SMTP server address 55 SMTP Server port 55 specifying a range Of Ps 89 SSL Certificate 173 SSL support 173 anapingana a a 173 sel module 173 static content downloaden 154 Status Zend Data Cache 49 Zend Debugger ssssssssrresssrresrrrresrenn 49 Zend Download Server s es 49 Zend Guard Logger 49 Zend Java Bridge 49 Zend Monitor 49 Zend Optimtzer 49 Zend Page Cache 49 Success Messages 178 Superdglobals neeese nennnneseeeennn 17 system Irformation 33 System Cvervlew 15 T ASKS eran oiee en n e N 15 tasks descriptions eeeeeeeeeeeereeen 64 tasks OUTCOMES 1 0 0 eeeeeeeeeeeteeeeeeenaeeeeeeaee 64 tasks OVEIVICW 00 ceeeeceesecteceeeeeeeeeeeneaees 64 tasks Zend Genera 64 test PHP Script re erran en 67 testing performance scceeeesseeeeeenees 95 Testing the Bridge Connection 85 To configure event rules ccceeeeeeeees 99 To create a blacklist ne 81 To disable event rules 99 tunneling carens Manis atei ai i 54 TUNNGIING aianei 91 tunneling Configuring 91 tunneling NAT 91 Tunneling setting Up 91 367 Zend Server Reference Manual Tunneling Zend Debuoger 91 Tunneling Zend Server sssssssnssennneneenn 91 Tunneling Zend Studio snnnaasnaaaaaenaaae 91 U Update Lcense 58 Update Statuses snnneeeneneeeee aneneen eaen 59 ele Er E EE 59 updates critcal eenen nenene 59 updates downloadimg essees 59 Updates Wmportam
325. vailable for events but an event can temporarily activate tracing The Zend Code Tracing will run in sleep mode and when an event defined to collect trace info is triggered Code tracing will be active for a set period of time as defined in the Monitor Rule Zend Server Reference Manual Job Queue The Job Queue page is accessed from Server Setup Job Queue From this page you can define the different settings for configuring the Job Queue Component This component is used to schedule jobs to run a PHP script This can be done by creating a Job in Recurring Jobs or by using the API The Job Queue page is a settings definition page for the Job Queue Component that provides Job scheduling capabilities The following Job Queue Daemon settings available Maximum number of concurrent running jobs Set the amount of jobs that are permitted to run at the same Days to keep completed and failed jobs in database define how long you want to keep job related information Retry Interval Set the amount of time to wait before trying to re run a failed job Maximum number of retries Set the amount of times to re run a job that failed to run Report job run time skew after X seconds of delay Report high job concurrency when job count is X below the limit 53 Zend Server Reference Manual Administration Tab Password and License The Password and License page is accessed from Administration Password and License From t
326. ven id from the daemon database ZendJobQueue getDependentJobs Returns a list of associative arrays with the properties of the jobs which depend on the job with the given identifier API Reference ZendJobQueue getJobsList Returns a list of associative arrays with properties of jobs which conform to a given query ZendJobQueue getApplications Returns an array of application names known by the daemon ZendJobQueue getSchedulingRules Returns an array of all the registered scheduled rules Each rule is represented by a nested associative array with the following properties id The scheduling rule identifier status The rule status see STATUS constants type The rule type see TYPE_ constants priority The priority of the jobs created by this rule persistent The persistence flag of the jobs created by this rule script The URL or script to run name The name of the jobs created by this rule vars The input variables or arguments http headers The additional HTTP headers schedule The CRON like schedule command app_id The application name associated with this rule and created jobs last un The last time the rule was run next_run The next time the rule will run ZendJobQueue getSchedulingRule Returns an associative array with the properties of the scheduling rule identified by the given argument The list of the properties is the same as in getSchedulingRule ZendJobQueue deleteSchedulingRule
327. ver and the preferred method is to use FTP SFTP to upload changes Development Where to Put the Code In order to run a PHP application your PHP files must be placed in a specific location that indicates to the Web server what files to service When you are ready to run your PHP code on a Web server place the files under the following directory according to your operating system and preferences Windows Apache lt install_dir gt Apache2 htdocs s IS C inetoub wwwroot DEB The distribution s default location is var www RPM a The distribution s default location is varAwww html 334 Zend Server Best Practices Running the Code Application Open a browser and enter the URL http localhost lt yourPHPfile gt php Replace lt port number gt with the port you are using The defaults are port 80 for Windows and port 10088 for the other operating systems unless you changed the port by preference Replace lt yourPHPfile gt php with name of the file you want to access run Remember to use the port name according to the port number you defined Q To find out how to locally debug your code once it s deployed in a Web server see Working with Local Debugging Production Deploying code to production is different than running your application in a controlled environment such as a local server Production means publishing your application to the internet So where do you publish your application Dependin
328. ves Gummanm nnn 273 Configuration Directive Details AA 274 Zend Code Tracing Configuration DireCtives cceccccccceeeeeeeceeeeeeneeeeaeeeeeeeeseaeeeeeaeeeeaeeeeaes 278 Configuration Directives Gummanm tenets ceeeeeeaaeeeeaeeeseaeeeeaaeseneeeseaeeetaeeneaeeee 278 Configuration Directive Details ccccceeececeeeeeeneeeeeeeecaeeeseeeeseeeeesaeeeeaaeseeeeeseaeeetaeeneneeee 280 Zend Session Clustering Configuration Directives 0 cccccesseeeeeeceeeeeeeeeeeeeseeeeeestaeeeeaeeenaes 286 Configuration Directives Gummanm 286 Configuration Directive Details ccccccecceeceeeeeeneeceeeeecaeeeseeeeseeeeceaeeeeaaeseeeeeseaeeeeaeeseneeee 286 Zend Server Best Practices AA 288 ee Ile EE 289 Optimizing Zend Server Performance sssseesseesseesetesrtetrtetntstnnstnntttnntnnntnnntnnsnunsnnnnrnnnnn 290 Optimizing MONON DT 292 Eine Tuning Optimizers EE 295 Configuring PHP for Performance c ccccccccceeeeeeeeeeeeeeecaeeeeaaeeeeeeeecaaeeseaaeseeeeeseaeeseaeeneneeee 296 vii Zend Server Reference Manual EEN ee ee eege 300 Configuring Debugger Access Control 301 Securing the Administration Interface c ccccesceceeceeceeeeeeeeeeeeeeseaeeeeaaeseeeeeseaeeesaeeneneeees 302 Configuring PHP for Security eeeeececeeeteeeeeeeeeeee cents caaeeeseaeeseeeeesaaeseeaaeseeeeesnaeeseaeeneneeee 304 Configuring Debugger Access Control 306 Monitor Security Blacklist ccccccceceeeeeeeeeeeeeeeeeee
329. w will open in a new window Use the Code Tracing Tree and Code Tracing Statistics tabs to navigate through the information 113 Zend Server Reference Manual Exporting Trace Information This procedure describes how to export trace information Exported trace information can be used to be imported into Zend Studio for further diagnostic information when you do not have access to the server or if you have been sent trace information from another person To export Zend Code Trace information SR 1 Goto Monitor Events and select an event that has been set to collect trace H information ES 2 Inthe event details page click Export A dialog will open prompting you to save the file to a location The file will be created with a zsf prefix for example event_trace_20 25 0 7843 1 zsf The Zend Code Tracing file can be sent to any Zend Server user and imported as an event file into Zend Studio For more information on how to import a trace file into Zend Studio see The Zend Studio Help Deleting Trace Information This procedure describes how to delete trace information 1 Go to Monitor Code Tracing LJ 2 Select a trace or multiple traces from the list by clicking the trace s check box 3 scroll to the bottom of the page and click delete The trace information will be permanently deleted New trace information for the same URL will continue to be recreated as long as the setting in the rule is not changed To change the rule s s
330. will now appear in your Administration Interface under Server Setup Extensions from which you can also load and unload the extension for more information see Working with Extensions Troubleshooting The configure script outputs messages as it goes along and many times you will be able to understand the problem just by looking at it however sometimes the error doesn t necessarily reflect the real issue so it is always a good idea to review the config log This is a very generic statement but no other statement can be made as there are many different extensions and issues one may come across so attempting to list them all will be somewhat futile 175 Zend Server Reference Manual Loading the mod sel Module The mod_sslI module allows you to enable SSL support on your Apache web server and is needed to enable Apache for SSL requests https For more information on the mod sel module see the mod_ssl user manual at http www modssl org docs 2 8 The bundled Apache that comes with Zend Server includes support for the ssl_module but this needs to be loaded in order to activate it You must have acquired an SSL certificate from an SSL certificate provider e g http Awww slacksite com apache certificate html or have created your own SSL certificate for the mod_ssl to be loaded To load the mod_ssl module LJ 1 Open your httpd conf file By default this is located in Windows lt install_path gt apache2 conf httpd conf L
331. wwi izendi com D I Using regular expressions consumes more time and CPU than using exact URLs This example sets the Page Cache to cache the following URL matches regex Any URL that matches this pattern is cached Scheme Only URLs that begin with http are cached the alternatives are https or either Host The host name and port part optional of the URL By using a regular expression you can specify whether to cache URLs that begin or do not begin with www For example www Indicates that the URL may or may not begin with www Path the path and query part of the URL For example Indicates that any string after the host name zend com articles is acceptable To be precise it represents 0 or more of any character 2 Click Add Condition L to create additional caching rules based on HTTP requests and session parameters There is no limit to the amount of conditions that can be added Example How can we configure the system to use only cached content when a user is not logged in Usage Scenario Websites portals news sites forums that provide different content to premium users and non registered users Assuming that the SESSION username parameter is used to store the name of a currently logged in user create a rule based on this parameter as follows 135 Zend Server Reference Manual 136 _SESSION username not_exists el Remove
332. ximal number of the array elements preserved Type integer Default Value 10 Available since version 4 0 zend_codetracing dump_file The prefix for the dump file names relative to zend data_dir Type string Default Value codetracing dump Available since version 4 0 zend_codetracing trace_enable Tracing data collection is enabled Type boolean Default Value 0 Available since version 4 0 zend_codetracing trace_time Timestamp collection is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing trace_source_lines Source file information collection is enabled Type boolean Default Value 1 Available since version 4 0 API Reference 281 Zend Server Reference Manual zend_codetracing trace_internal_functions Internal functions call collection is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing trace_user_functions User functions call collection is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing trace_includes Include require data collection is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing trace_arguments Function call argument collection is enabled Type boolean Default Value 1 Available since version 4 0 zend_codetracing trace_return_values Function return value collection is enabled Type boolean Default Value 1 Available since v
333. y Level This event is generates when the job queue daemon is at or close to its maximal concurrent job limit Tracer Failed to Write Dump File This event is generated when the Code Tracer could not create a dump file Skew Time when the job is executed later than scheduled Caught Java exceptions are considered part of the normal exception flow therefore only uncaught exceptions are reported Some rule types can be configured twice once with absolute value settings and again with relative value settings An absolute setting is used to configure a specific value and a relative setting is used to configure a percentage of a selected value 35 Zend Server Reference Manual Edit Rule Monitoring The rule editing page is accessed from Rule Management Monitoring To edit a specific rule click the rule name and the rule editing page will open This page is used to edit the conditions which generate an event as displayed in Monitor Events The following image is an example of a rule rule layout and parameters differ from rule to rule Severe High Memory Usage Relative Triggered when a PHP request consumes more than average ammount of memory by the percentage specified measured per URL Step 1 Event Condition Ifa script consumes more than the average memory consumption by 60 K Step 2 Event Action Create an event record with severity Critical ENEE Code tracing for events is inactive Save
334. y for storing precompiled PHP code in Mbytes Type integer Units MBytes Default Value 64 Available since version 4 0 zend_optimizerplus max_accelerated_files The number is actually the the first one in the following set of prime numbers that is bigger than the one supplied 223 463 983 1979 3907 7963 16229 32531 65407 130987 Only numbers between 200 and 100000 are allowed Type integer Default Value 2000 Available since version 4 0 zend_optimizerplus max_wasted_percentage The maximum percentage of wasted memory until a restart is scheduled Type integer Units Default Value 5 Available since version 4 0 zend_optimizerplus consistency_checks The default value of 0 means that the checks are disabled Because calculating the checksum impairs performance this directive should be enabled only as part of a debugging process Type integer Default Value 0 Available since version 4 0 193 Zend Server Reference Manual zend_optimizerplus force_restart_timeout The Optimizer uses this directive to identify a situation where there may be a problem with a process After this time period has passed the Optimizer assumes that something has happened and starts killing the processes that still hold the locks that are preventing a restart If the log level is 3 or above a killed locker error is recorded in the Apache logs when this happens Type integer Units seconds Default Value 180
335. y level integer PHP_INI_SYSTEM Configuration Directive Details zend_sc enable Enables the Session Clustering Type boolean Default Value 0 Available since version 4 0 zend_sc scd_port the port the sc daemon is listening to Type integer Default Value 10062 Available since version 4 0 zend_sc use_unix_sockets Communication with mod cluster 0 TCP 1 Unix socket Type boolean Default Value 1 Available since version 4 0 286 Description Enables the Session Clustering the port the sc daemon is listening to Communication with mod cluster 0 TCP 1 Unix socket unix socket filename to communicate with daemon used when retrying to access locked sessions size of log before it s rotated The log verbosity level 0 5 API Reference zend_sc unix_socket_filename unix socket filename to communicate with daemon Type string Default Value scd sock Available since version 4 0 zend_sc lock_timeout used when retrying to access locked sessions Type integer Units seconds Default Value 1 Available since version 4 0 zend_sc log_rotation_size size of log before it s rotated Type integer Default Value 10 Available since version 4 0 zend_sc log_verbosity_level The extension s log verbosity level Level 1 includes very important info messages errors and warnings Level 2 displays notices Greater levels up to 5 server debug purposes only Type integer Default Value 2 Available
336. ys of the week When all the settings are properly defined the Create Rule button will change from Grey to Blue 5 cick ND to save the changes As soon as the new Recurring Job is saved it will be put in the Job Queue at the time specified in the Rule To find out how the job ran go to Monitor Jobs To see what jobs are currently running go to Monitor Queue Statistics For additional information on handling jobs see Managing Jobs The Jobs and Queues Statistics pages display information about all the Jobs in your system including Jobs triggered by the Job Queue API 122 Zend Server Reference Manual Managing Jobs The following information refers to managing Zend Job Queue jobs from the Zend Server Administration Interface There are three different ways to manage jobs 1 Manage Job Rules 2 Manage Job History Managing Job Rules The following procedure describes how to manage recurring jobs These jobs are created in Rule Management Recurring Jobs or by using the Job Queue API Once a job is created it is added to the jobs table Filter New Recurring Job d ID Job Name URL Last Run Next Run Actions TT 000001 Job Name httpviwww zend comiindex php 01 Feb 12 05 01 Feb 13 05 History Suspend Resume Delete 123 Zend Server Reference Manual Job Management Actions Action Filter New Recurring Job Suspend Resume Delete Edit a Rule History of a Rule 124 Descript
Download Pdf Manuals
Related Search
Related Contents
capitolato speciale d`appalto per le attività di Lancia - Fiat Cesaro Brodit 215695 mounting kit MTS Criterion Testing Systems カートンプリンタ CPシリーズ Saint Ann Catholic Community FT50JET`13(6C2A) FT60GET`13(6C6A) Samson MTR201 User's Manual directive technique vidange manuelle des ouvrages d Copyright © All rights reserved.
Failed to retrieve file