PageSourceSearch

https://www.zend.com/products/zendphp-enterprise

html zend.com collected 2026-09-24 06:45:24 UTC 208,033 bytes, 4,931 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" dir="ltr" prefix="og: https://ogp.me/ns#" class="scroll-smooth">
3  <head>
4        
4<script type="text/plain" nonce="8UBK3HsGxXcQDrZc2FlvwA" class="optanon-category-C0004" src="https://cdn.optimizely.com/js/5486583420289024.js"></script>
4
5                <!-- Standard Favicon -->
6    <link rel="icon" type="image/png" sizes="16x16" href="/themes/custom/p4base/assets/favicons/znd/favicon-16x16.png">
7    <link rel="icon" type="image/png" sizes="32x32" href="/themes/custom/p4base/assets/favicons/znd/favicon-32x32.png">
8    <link rel="shortcut icon" href="/themes/custom/p4base/assets/favicons/znd/favicon.ico">
9    <link rel="icon" type="image/x-icon" href="/themes/custom/p4base/assets/favicons/znd/favicon.ico">
10    <!-- Apple Touch Icon (iOS) -->
11    <link rel="apple-touch-icon" sizes="180x180" href="/themes/custom/p4base/assets/favicons/znd/apple-touch-icon.png">
12    <!-- Android Chrome Icons -->
13    <link rel="icon" type="image/png" sizes="192x192" href="/themes/custom/p4base/assets/favicons/znd/android-chrome-192x192.png">
14    <link rel="icon" type="image/png" sizes="512x512" href="/themes/custom/p4base/assets/favicons/znd/android-chrome-512x512.png">
15    <!-- Web App Manifest -->
16    <link rel="manifest" href="/themes/custom/p4base/assets/favicons/znd/site.webmanifest">
17
18        <meta name="msapplication-TileColor" content="#ffffff">
19    <meta name="theme-color" content="#4C00FF">
20
21    <meta charset="utf-8" />
22<meta name="description" content="Get-long term support, stay compliant, and access 24/7 expert help with secure and supported Zend PHP runtimes. Learn more and unlock ZendPHP free trial details." />
23<link rel="canonical" href="https://www.zend.com/products/zendphp-enterprise" />
24<meta property="og:url" content="https://www.zend.com/products/zendphp-enterprise" />
25<meta property="og:title" content="Product - ZendPHP | Zend" />
26<meta property="og:description" content="Get-long term support, stay compliant, and access 24/7 expert help with secure and supported Zend PHP runtimes. Learn more and see ZendPHP free trial details." />
27<meta property="og:image" content="https://www.zend.com/sites/default/files/image-social-share-default.jpg" />
28<meta property="og:image:url" content="https://www.zend.com/sites/default/files/image-social-share-default.jpg" />
29<meta property="og:image:width" content="1200" />
30<meta property="og:image:height" content="630" />
31<meta name="twitter:card" content="summary_large_image" />
32<meta name="twitter:site" content="@perforce" />
33<meta name="twitter:description" content="Get-long term support, stay compliant, and access 24/7 expert help with secure and supported Zend PHP runtimes. Learn more and see ZendPHP free trial details." />
34<meta name="twitter:title" content="Product - ZendPHP | Zend" />
35<meta name="twitter:creator" content="@perforce" />
36<meta name="MobileOptimized" content="width" />
37<meta name="HandheldFriendly" content="true" />
38<meta name="viewport" content="width=device-width, initial-scale=1.0" />
39<script type="application/ld+json">{
40    "@context": "https://schema.org",
41    "@graph": [
42        {
43            "@type": "SoftwareApplication",
44            "name": "ZendPHP Enterprise",
45            "description": "ZendPHP Enterprise provides secure, long-term supported PHP runtimes with advanced observability and automation tools for mission-critical applications.",
46            "applicationSuite": "Perforce Zend",
47            "applicationCategory": "DeveloperApplication",
48            "operatingSystem": "Linux, Windows, IBM i",
49            "featureList": "Fully patched PHP runtimes (including EOL versions 7.2–8.0), 24/7/365 global support from PHP experts, Hardened PHP container images, Plug-and-play PHP monitoring and observability, Real-time root cause analysis, Customizable alerts, Code tracing for performance bottlenecks, Z-Ray for application-level insights, JobQueue for deferred and scheduled job execution, Disaster recovery with MariaDB and PostgreSQL support, Support for multiple operating systems (e.g., Ubuntu, Debian, CentOS, Alpine, Windows, IBM i), Provisioning tools for Vhosts, SSL, and PHP version management, Terraform templates for orchestration, Support for Apache and Nginx web servers, Availability on cloud platforms like AWS, Azure, and Google Cloud",
50            "softwareVersion": "8.3",
51            "downloadUrl": "https://www.zend.com/products/zendphp-enterprise"
52        }
53    ]
54}</script>
vendor: 1 bytes, line 54
54
55<script id="gtmScript" nonce="8UBK3HsGxXcQDrZc2FlvwA" data-gtm-nonce="8UBK3HsGxXcQDrZc2FlvwA">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id=GTM-PG5L5N'+dl;var n=d.querySelector('[nonce]');n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-PG5L5N');</script>
55
56<link rel="alternate" hreflang="en" href="https://www.zend.com/products/zendphp-enterprise" />
57<link rel="stylesheet" href="/styles/node/454/36569/backgrounds.css" />
58<link rel="icon" href="/sites/default/files/favicon.ico" type="image/vnd.microsoft.icon" />
59<script nonce="8UBK3HsGxXcQDrZc2FlvwA">window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = "#4C00FF";</script>
59
60
61    <title>ZendPHP Enterprise | Secure &amp; Supported PHP Runtimes | Zend</title>
62    <link rel="stylesheet" media="all" href="/sites/default/files/css/css_h6KLesmhxi8S2KjdO7YrRGEozu4grDOXIJaASSqpyDs.css?delta=0&amp;language=en&amp;theme=p4base&amp;include=eJxFjlEOwyAMQy_E4Gf3QWGkNBqFKEnV9vZjVbv9RM-ObBlytg7tCHCBn6Q3c0ABKJbaE1SX0Awl4s5dMceJ6pAaCjaU8cbdKrV3yLIyVH9Jx88EiuF7bi4gNjKPjXJBu10W0sUxCBQBnvUu-jt-bbymSjpjdjx367oRj-QP_Ss3p2Q4qjFCRbFAjczpoYbLueIDUY1buA" />
63<link rel="stylesheet" media="all" href="//cdnjs.cloudflare.com/ajax/libs/photoswipe/5.4.4/photoswipe.min.css" />
64<link rel="stylesheet" media="all" href="/sites/default/files/css/css_CpxlAAAuc4nPf0TVbTXz0qBwBQISh-vjyD002hcYIDI.css?delta=2&amp;language=en&amp;theme=p4base&amp;include=eJxFjlEOwyAMQy_E4Gf3QWGkNBqFKEnV9vZjVbv9RM-ObBlytg7tCHCBn6Q3c0ABKJbaE1SX0Awl4s5dMceJ6pAaCjaU8cbdKrV3yLIyVH9Jx88EiuF7bi4gNjKPjXJBu10W0sUxCBQBnvUu-jt-bbymSjpjdjx367oRj-QP_Ss3p2Q4qjFCRbFAjczpoYbLueIDUY1buA" />
65<link rel="stylesheet" media="all" href="/sites/default/files/css/css_onx2Nxy4C7dc5yvB0rpbnXouqHmDsWPwbUQuJ8fLBCY.css?delta=3&amp;language=en&amp;theme=p4base&amp;include=eJxFjlEOwyAMQy_E4Gf3QWGkNBqFKEnV9vZjVbv9RM-ObBlytg7tCHCBn6Q3c0ABKJbaE1SX0Awl4s5dMceJ6pAaCjaU8cbdKrV3yLIyVH9Jx88EiuF7bi4gNjKPjXJBu10W0sUxCBQBnvUu-jt-bbymSjpjdjx367oRj-QP_Ss3p2Q4qjFCRbFAjczpoYbLueIDUY1buA" />
66
67    
68    
68<script type="text/plain" nonce="8UBK3HsGxXcQDrZc2FlvwA" class="optanon-category-C0004">
69      var zaius = window['zaius']||(window['zaius']=[]);zaius.methods=["initialize","onload","customer","entity","event","subscribe","unsubscribe","consent","identify","anonymize","dispatch"];zaius.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);zaius.push(t);return zaius}};(function(){for(var i=0;i<zaius.methods.length;i++){var method=zaius.methods[i];zaius[method]=zaius.factory(method)}var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src=("https:"===document.location.protocol?"https://":"http://")+"d1igp3oop3iho5.cloudfront.net/v2/fhfbx5i1OfDpypNu3t8vpQ/zaius-min.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();
70      // Edits to this script should only be made below this line.
71      function sixsense_vuid_hash_id() {zaius.event('pageview',
72      {"sixsense_vuid_hash_id": window.zaius.VUID}
73      );}
74      if (window.zaius.VUID) {sixsense_vuid_hash_id();}else {window.zaius.onload(sixsense_vuid_hash_id);}
75          </script>
75
76  </head>
77  <body class="site-zend">
78      <!-- Google Tag  Manager (noscript) -->
79    <noscript>
80      <iframe class="hidden invisible" src="//www.googletagmanager.com/ns.html?id=GTM-PG5L5N" height="0" width="0"></iframe>
81    </noscript>
82    <!-- End Google Tag Manager (noscript) -->
83        <a href="#main-content" class="visually-hidden focusable">
84      Skip to main content
85    </a>
86    <div data-sitewide-alert aria-live="polite"></div>
87
88      <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
89    
90
91
92
93<div  class="layout-container">
94  <header >
95            <div id="top-nav-bar">
96  <div class="region--header-top">
97    <div class="max-w-container mx-auto relative block">
98    <div  id="block-p4base-perforcesite" class="block">
99  
100    
101      
102
103            <div class="text-long"><div><div class="photoswipe-gallery"><div><a href="https://www.perforce.com" title="Perforce Software" aria-label="Perforce Software (opens in a new window)"><svg style="margin-top:-10px;" id="logo-perforce-icon-reg" width="30" height="30" viewBox="0 0 176.53 144.22"><g><path d="M122.2,50.37l-16.76,9.68,4.24,2.45c5.01,2.89,5.55,7.69,5.55,9.62s-.54,6.73-5.55,9.62l-75.84,43.79c-5.01,2.89-9.44.96-11.11,0-1.67-.96-5.55-3.83-5.55-9.62V28.32c0-5.79,3.88-8.66,5.55-9.62,1.67-.96,6.09-2.89,11.11,0l20.09,11.6,17.17-9.91L42.42,3.83C33.56-1.28,22.99-1.28,14.14,3.83,5.29,8.95,0,18.1,0,28.32v87.58c0,10.22,5.29,19.38,14.14,24.49,4.43,2.56,9.28,3.83,14.14,3.83s9.71-1.28,14.14-3.83l75.84-43.79c8.85-5.11,14.14-14.27,14.14-24.49,0-8.6-3.75-16.43-10.2-21.74Z" fill="#4c00ff" /><path d="M54.33,93.86l16.76-9.68-4.24-2.45c-5.01-2.89-5.55-7.69-5.55-9.62s.54-6.73,5.55-9.62l75.84-43.79c5.01-2.89,9.44-.96,11.11,0,1.67.96,5.55,3.83,5.55,9.62v87.58c0,5.79-3.88,8.66-5.55,9.62-1.67.96-6.09,2.89-11.11,0l-20.09-11.6-17.17,9.91,28.68,16.56c8.85,5.11,19.43,5.11,28.28,0,8.85-5.11,14.14-14.27,14.14-24.49V28.32c0-10.22-5.29-19.38-14.14-24.49-4.43-2.56-9.28-3.83-14.14-3.83s-9.71,1.28-14.14,3.83L58.27,47.62c-8.85,5.11-14.14,14.27-14.14,24.49,0,8.6,3.75,16.43,10.2,21.74Z" fill="#4c00ff" /></g></svg></a></div></div></div></div>
104      
105  </div>
106
107    </div>
108  </div>
109
110                  
111  <div id="branding-mm">
112
113        <div class="flex items-center justify-between px-8 py-4 fixed z-50 bg-white w-full h-24">
114      <div  id="block-p4base-sitebranding" class="block my-auto mr-8">
115  
116    
117    <div class="branding-flex flex items-center gap-6">
118              <a
119        href="https://www.perforce.com"
120        class="perforce-logo"
121        aria-label="Perforce"
122      >
123      </a>
124            <a href="/" rel="home" target="_blank">
125      <img src="/sites/default/files/logo-zend-reg.svg" alt="Zend" fetchpriority="high" class="lg:max-w-[18.75rem] max-w-[12rem] max-h-[40px] w-48" />
126    </a>
127      
128  </div>
129</div>
130<nav role="navigation" aria-labelledby="block-p4base-mainmenusystem-menu" id="block-p4base-mainmenusystem" data-region="header" class="order-2 xl:order-1 xl:border-none md:border-l border-solid border-gray-300">
131            
132  <h2 class="visually-hidden" id="block-p4base-mainmenusystem-menu">Main Menu System</h2>
133  
134
135        
136<nav
137  class="relative w-full"
138  aria-label="Main navigation"
139  x-data="{
140    mobileOpen: false,
141    activeItem: null,
142    closeTimer: null,
143    toggleItem(index) {
144      this.activeItem = this.activeItem === index ? null : index;
145    }
146  }"
147>
148
149    <div class="xl:hidden flex items-center justify-end">
150    <button
151      class="flex items-center gap-2 px-3 py-2 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2"
152      @click="mobileOpen = true"
153      :aria-expanded="mobileOpen ? 'true' : 'false'"
154      aria-controls="main-nav-menu"
155      aria-label="Open navigation menu"
156    >
157      <span class="text-[2.25rem] leading-none">☰</span>
158      <span class="sr-only">Open menu</span>
159    </button>
160  </div>
161
162    <div
163    x-show="mobileOpen"
164    x-transition:enter="transition ease-out duration-300"
165    x-transition:enter-start="opacity-0 translate-x-full"
166    x-transition:enter-end="opacity-100 translate-x-0"
167    x-transition:leave="transition ease-in duration-200"
168    x-transition:leave-start="opacity-100 translate-x-0"
169    x-transition:leave-end="opacity-0 translate-x-full"
170    class="fixed inset-0 bg-white z-50 flex flex-col h-screen overflow-y-auto xl:hidden"
171    x-cloak
172    @keydown.escape.window="mobileOpen = false"
173    role="dialog"
174    aria-modal="true"
175    aria-label="Mobile navigation"
176  >
177
178        <div class="flex items-center justify-between px-4 py-3 border-b border-gray-100 flex-shrink-0">
179
180            <div class="flex-shrink-0">
181        <div  class="block my-auto mr-8">
182  
183    
184    <div class="branding-flex flex items-center gap-6">
185              <a
186        href="https://www.perforce.com"
187        class="perforce-logo"
188        aria-label="Perforce"
189      >
190      </a>
191            <a href="/" rel="home" target="_blank">
192      <img src="/sites/default/files/logo-zend-reg.svg" alt="Zend" fetchpriority="high" class="lg:max-w-[18.75rem] max-w-[12rem] max-h-[40px] w-48" />
193    </a>
194        <a href="/" rel="home" class="hidden">Zend</a>
195    
196  </div>
197</div>
198
199      </div>
200
201            <button
202        class="flex items-center gap-2 px-3 py-2 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 mr-8"
203        @click="mobileOpen = false"
204        aria-label="Close navigation menu"
205      >
206        <span class="text-base leading-none">✖</span>
207        <span class="sr-only">Close menu</span>
208      </button>
209
210    </div>
211    <div class="mobile-search md:hidden">
212      <div  data-drupal-selector="views-exposed-form-sitewide-search-page-search" class="block views-exposed-form bef-exposed-form">
213  
214      <h2 class="h2">Sitewide Search</h2>
215    
216      <form action="/search" method="get" id="views-exposed-form-sitewide-search-page-search" accept-charset="UTF-8">
217
218        <div class="relative mx-auto">
219        <input
220                type="text"
221                name="keys"
222                value=""
223                placeholder="Search..."
224                class="w-[800px] placeholder:text-p4-primary text-base text-p4-dark py-4 px-4 pr-12 border rounded-md focus:outline-none focus:ring-0 focus:border-transparent"
225        />
226
227                <button
228                type="submit"
229                name=""
230                value="Apply"
231                class="absolute top-1/2 right-8 transform -translate-y-1/2"
232                aria-label="Search"
233        >
234            <svg class="w-6 h-6 text-p4-primary" id="icon_search" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
235                <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"
236                      d="M17.4 9.2c0 4.5-3.7 8.2-8.2 8.2S1 13.8 1 9.2 4.7 1 9.2 1s8.2 3.7 8.2 8.2ZM15 15l8 8"/>
237            </svg>
238
239        </button>
240    </div>
241
242        
243    
244    
245</form>
246  </div>
247
248    </div>  
249        <ul class="menu menu-level-0 flex flex-col w-full flex-1 overflow-y-auto !pl-2">
250      
251                                
252        
253        <li
254          class="menu-item list-none border-gray-100"
255        >
256
257                
258          <div class="flex items-center justify-between">
259
260                                                            
261                      <button
262              type="button"
263               class="px-1 py-1 inline-flex items-center gap-2 flex-1 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 menu-item--has-panel" aria-haspopup="true" :aria-expanded="(activeItem === 0) ? &quot;true&quot; : &quot;false&quot;"
264                              @click="activeItem = activeItem === 0 ? null : 0"
265                          >
266              Products
267            </button>
268          
269                                      <button
270                class="px-4 py-4 mr-12 lg:mr-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2"
271                @click="activeItem = activeItem === 0 ? null : 0"
272                :aria-expanded="activeItem === 0 ? 'true' : 'false'"
273                aria-label="Toggle Products submenu"
274              >
275                <svg
276                  class="w-4 h-4 transition-transform duration-200"
277                  :class="activeItem === 0 ? 'rotate-180' : ''"
278                  xmlns="http://www.w3.org/2000/svg"
279                  fill="none" viewBox="0 0 24 24"
280                  stroke="currentColor" stroke-width="2"
281                >
282                  <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />
283                </svg>
284              </button>
285            
286          </div>
287
288  
289  <div
290    x-show="activeItem === 0"
291    x-transition:enter="transition ease-out duration-200"
292    x-transition:enter-start="opacity-0 -translate-y-2"
293    x-transition:enter-end="opacity-100 translate-y-0"
294    x-transition:leave="transition ease-in duration-150"
295    x-transition:leave-start="opacity-100 translate-y-0"
296    x-transition:leave-end="opacity-0 -translate-y-2"
297    class="flex flex-col"
298    x-cloak
299  >
300        <div class=" flex-1">
301      <div class="
302        lg:p-4
303        [&_.layout]:!block
304        [&_.layout__region]:!block
305        [&_.layout__region]:!w-full
306      ">
307        
308  
309  <div class="menu_link_content menu-link-contentmain-menu-system view-mode-
309default menu-dropdown menu-dropdown-0 menu-type-default">
310              
311
312
313
314
315      <div class="field field--name-field-menu-panel field--type-entity-reference-revisions field--label-hidden">
316              <div>
317
318<div id="p-4196" class="paragraph paragraph--type--menu-panel paragraph--view-mode--default">
319  
320<div  class="layout--two-column-50-50-menu w-full max-w-2xl mx-auto">
321  <div  class="grid grid-cols-1 lg:grid-cols-2 gap-4">
322        <div  class="layout__region--col1 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
323      
324
325
326<div id="p-4201" class="menu-link-list p-4 has-no-title">
327    <span class="hidden lg:inline"></span>
328  <div class="menu-links-wrapper">
329    
330
331
332
333
334      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
335              <div>
336
337<div id="p-4197" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
338  
339
340
341
342
343            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/index%2Ephp/products/zendphp-enterprise">ZendPHP</a></div>
344       
345</div></div>
346              <div>
347
348<div id="p-4198" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
349  
350
351
352
353
354            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/index%2Ephp/products/zendhq">ZendHQ</a></div>
355       
356</div></div>
357              <div>
358
359<div id="p-4199" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
360  
361
362
363
364
365            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/index%2Ephp/products/enterprise-web-platform">Zend Web Platform</a></div>
366       
367</div></div>
368              <div>
369
370<div id="p-4200" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
371  
372
373
374
375
376            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/index%2Ephp/services/php-long-term-support">Long-Term Support</a></div>
377       
378</div></div>
379          </div>
380  
381  </div>
382</div>
383
384    </div>
385            <div  class="layout__region--col2 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
386      
387
388<div id="p-4202" class="paragraph paragraph--type--menu-featured-content paragraph--view-mode--default menu-featured-content p-4 hidden lg:block">
389      <span class="font-bold my-4 leading-normal">ZendPHP</span>
390  
391  <div class="rounded-3xl overflow-hidden mx-auto !my-4">
392  
393
394
395
396
397            <div class="field field--name-field-image field--type-entity-reference field--label-hidden"><div>
398  
399  
400
401
402
403
404  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
405    <div class="visually-hidden">Image</div>
406                          <img loading="lazy" src="/sites/default/files/2025-05/image-hero-background-light-large-opt2.svg" title="image-hero-background-light-large-opt2.svg" />
407
408
409                </div>
410
411</div>
412</div>
413       
414    </div>
415  <span class="menu-link-list">
416  
417
418            <div class="text-long"><p>PHP Runtime and Support</p>
419</div>
420      
421  </span>
422
423  <div class="menu-link-item mt-8">
424    
425
426
427
428
429            <div class="field field--name-field-link field--type-link field--label-hidden"><a href="/index%2Ephp/products/zendphp-enterprise/trial">Try Free &gt;</a></div>
430          
431    </div>
432</div>
433
434    </div>
435      </div>
436</div>
437
438</div>
439</div>
440          </div>
441  
442      </div>
443
444
445
446      </div>
447    </div>
448
449    
450  </div>
451
452        </li>
453      
454                                
455        
456        <li
457          class="menu-item list-none border-gray-100"
458        >
459
460                
461          <div class="flex items-center justify-between">
462
463                                                            
464                      <button
465              type="button"
466               class="px-1 py-1 inline-flex items-center gap-2 flex-1 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 menu-item--has-panel" aria-haspopup="true" :aria-expanded="(activeItem === 1) ? &quot;true&quot; : &quot;false&quot;"
467                              @click="activeItem = activeItem === 1 ? null : 1"
468                          >
469              Services
470            </button>
471          
472                                      <button
473                class="px-4 py-4 mr-12 lg:mr-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2"
474                @click="activeItem = activeItem === 1 ? null : 1"
475                :aria-expanded="activeItem === 1 ? 'true' : 'false'"
476                aria-label="Toggle Services submenu"
477              >
478                <svg
479                  class="w-4 h-4 transition-transform duration-200"
480                  :class="activeItem === 1 ? 'rotate-180' : ''"
481                  xmlns="http://www.w3.org/2000/svg"
482                  fill="none" viewBox="0 0 24 24"
483                  stroke="currentColor" stroke-width="2"
484                >
485                  <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />
486                </svg>
487              </button>
488            
489          </div>
490
491  
492  <div
493    x-show="activeItem === 1"
494    x-transition:enter="transition ease-out duration-200"
495    x-transition:enter-start="opacity-0 -translate-y-2"
496    x-transition:enter-end="opacity-100 translate-y-0"
497    x-transition:leave="transition ease-in duration-150"
498    x-transition:leave-start="opacity-100 translate-y-0"
499    x-transition:leave-end="opacity-0 -translate-y-2"
500    class="flex flex-col"
501    x-cloak
502  >
503        <div class=" flex-1">
504      <div class="
505        lg:p-4
506        [&_.layout]:!block
507        [&_.layout__region]:!block
508        [&_.layout__region]:!w-full
509      ">
510        
511  
512  <div class="menu_link_content menu-link-contentmain-menu-system view-mode-
512default menu-dropdown menu-dropdown-0 menu-type-default">
513              
514
515
516
517
518      <div class="field field--name-field-menu-panel field--type-entity-reference-revisions field--label-hidden">
519              <div>
520
521<div id="p-4203" class="paragraph paragraph--type--menu-panel paragraph--view-mode--default">
522  
523<div  class="layout--three-column-33-33-33-menu w-full lg:w-[calc(100vw-4rem)] max-w-screen-lg mx-auto">
524  <div  class="grid grid-cols-1 lg:grid-cols-[1fr_1fr_1fr] gap-4">
525        <div  class="layout__region--col1 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
526      
527
528
529<div id="p-4210" class="menu-link-list p-4 has-title">
530      <span class="font-bold w-full leading-normal">All Services</span>
531    <span class="hidden lg:inline"></span>
532  <div class="menu-links-wrapper">
533    
534
535
536
537
538      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
539              <div>
540
541<div id="p-4204" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
542  
543
544
545
546
547            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/php-long-term-support">Long-Term Support</a></div>
548       
549</div></div>
550              <div>
551
552<div id="p-4205" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
553  
554
555
556
557
558            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration">Upgrades &amp; Modernization</a></div>
559       
560</div></div>
561              <div>
562
563<div id="p-4206" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
564  
565
566
567
568
569            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/custom-consulting">Consulting</a></div>
570       
571</div></div>
572              <div>
573
574<div id="p-4207" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
575  
576
577
578
579
580            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/performance-auditing">Auditing</a></div>
581       
582</div></div>
583              <div>
584
585<div id="p-4208" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
586  
587
588
589
590
591            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/black-belt-php-support-services">Black Belt Services</a></div>
592       
593</div></div>
594              <div>
595
596<div id="p-4209" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
597  
598
599
600
601
602            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/continuous-delivery">CI/CD &amp; Test Automation</a></div>
603       
604</div></div>
605          </div>
606  
607  </div>
608</div>
609
610    </div>
611            <div  class="layout__region--col2 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
612      
613
614
615<div id="p-4364" class="menu-link-list p-4 has-title">
616      <span class="font-bold w-full leading-normal">Migration Services</span>
617    <span class="hidden lg:inline"></span>
618  <div class="menu-links-wrapper">
619    
620
621
622
623
624      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
625              <div>
626
627<div id="p-4359" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
628  
629
630
631
632
633            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration/laravel-migration">Laravel Migrations</a></div>
634       
635</div></div>
636              <div>
637
638<div id="p-4360" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
639  
640
641
642
643
644            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration/symfony-migration">Symfony Migrations</a></div>
645       
646</div></div>
647              <div>
648
649<div id="p-4361" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
650  
651
652
653
654
655            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration/codeigniter-migration">CodeIgniter Migrations</a></div>
656       
657</div></div>
658              <div>
659
660<div id="p-4362" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
661  
662
663
664
665
666            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration/cakephp-migration">CakePHP Migrations</a></div>
667       
668</div></div>
669              <div>
670
671<div id="p-4363" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
672  
673
674
675
676
677            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration/php-mysql-migration">PHP MySQL Migrations</a></div>
678       
679</div></div>
680              <div>
681
682<div id="p-4366" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
683  
684
685
686
687
688            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration">All Migration Services</a></div>
689       
690</div></div>
691          </div>
692  
693  </div>
694</div>
695
696    </div>
697            <div  class="layout__region--col3 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
698      
699
700<div id="p-4365" class="paragraph paragraph--type--menu-featured-content paragraph--view-mode--default menu-featured-content p-4 hidden lg:block">
701      <span class="font-bold my-4 leading-normal">Complimentary Code Assessments for PHP Migrations</span>
702  
703  <div class="rounded-3xl overflow-hidden mx-auto !my-4">
704  
705
706
707
708
709            <div class="field field--name-field-image field--type-entity-reference field--label-hidden"><div>
710  
711  
712
713
714
715
716  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
717    <div class="visually-hidden">Image</div>
718                          <img loading="lazy" src="/sites/default/files/2025-05/image-hero-background-light-small-opt2-animated.svg" alt="Decorative image with 3d triangles" />
719
720
721                </div>
722
723</div>
724</div>
725       
726    </div>
727  <span class="menu-link-list">
728  
729  </span>
730
731  <div class="menu-link-item mt-8">
732    
733
734
735
736
737            <div class="field field--name-field-link field--type-link field--label-hidden"><a href="/services/migration/complimentary-code-assessment">Get Details &gt;</a></div>
738          
739    </div>
740</div>
741
742    </div>
743      </div>
744</div>
745
746</div>
747</div>
748              <div>
749<div id="p-4211" class="paragraph paragraph--type--menu-footer-cta paragraph--view-mode--default menu-footer-cta hidden lg:block">
750  <div class="
751    flex items-center gap-4
752    bg-p4-white
753    px-8 py-4
754    -mx-6 -mb-6
755    md:-mx-6 md:-mb-6">
756  
757          
758    
759    <div class="ml-auto">
760          <a href="/services">
761        All Services &gt;
762      </a>
763        </div>
764  </div>
765</div>
766</div>
767          </div>
768  
769      </div>
770
771
772
773      </div>
774    </div>
775
776    
777  </div>
778
779        </li>
780      
781                                
782        
783        <li
784          class="menu-item list-none border-gray-100"
785        >
786
787                
788          <div class="flex items-center justify-between">
789
790                                                            
791                      <button
792              type="button"
793               class="px-1 py-1 inline-flex items-center gap-2 flex-1 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 menu-item--has-panel" aria-haspopup="true" :aria-expanded="(activeItem === 2) ? &quot;true&quot; : &quot;false&quot;"
794                              @click="activeItem = activeItem === 2 ? null : 2"
795                          >
796              Solutions
797            </button>
798          
799                                      <button
800                class="px-4 py-4 mr-12 lg:mr-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2"
801                @click="activeItem = activeItem === 2 ? null : 2"
802                :aria-expanded="activeItem === 2 ? 'true' : 'false'"
803                aria-label="Toggle Solutions submenu"
804              >
805                <svg
806                  class="w-4 h-4 transition-transform duration-200"
807                  :class="activeItem === 2 ? 'rotate-180' : ''"
808                  xmlns="http://www.w3.org/2000/svg"
809                  fill="none" viewBox="0 0 24 24"
810                  stroke="currentColor" stroke-width="2"
811                >
812                  <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />
813                </svg>
814              </button>
815            
816          </div>
817
818  
819  <div
820    x-show="activeItem === 2"
821    x-transition:enter="transition ease-out duration-200"
822    x-transition:enter-start="opacity-0 -translate-y-2"
823    x-transition:enter-end="opacity-100 translate-y-0"
824    x-transition:leave="transition ease-in duration-150"
825    x-transition:leave-start="opacity-100 translate-y-0"
826    x-transition:leave-end="opacity-0 -translate-y-2"
827    class="flex flex-col"
828    x-cloak
829  >
830        <div class=" flex-1">
831      <div class="
832        lg:p-4
833        [&_.layout]:!block
834        [&_.layout__region]:!block
835        [&_.layout__region]:!w-full
836      ">
837        
838  
839  <div class="menu_link_content menu-link-contentmain-menu-system view-mode-default menu-dropdown menu-dropdown-0 menu-type-default">
840              
841
842
843
844
845      <div class="field field--name-field-menu-panel field--type-entity-reference-revisions field--label-hidden">
846              <div>
847
848<div id="p-4212" class="paragraph paragraph--type--menu-panel paragraph--view-mode--default">
849  <div class="layout--one-column-menu w-md mx-auto">
850        <div  class="layout__region--main layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
851    
852
853
854<div id="p-4219" class="menu-link-list p-4 has-title">
855      <span class="font-bold w-full leading-normal">PHP Solutions</span>
856    <span class="hidden lg:inline"></span>
857  <div class="menu-links-wrapper">
858    
859
860
861
862
863      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
864              <div>
865
866<div id="p-4213" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
867  
868
869
870
871
872            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/cloud">Cloud Solutions</a></div>
873       
874</div></div>
875              <div>
876
877<div id="p-4214" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
878  
879
880
881
882
883            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/containers">Container Solutions</a></div>
884       
885</div></div>
886              <div>
887
888<div id="p-4215" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
889  
890
891
892
893
894            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/security">Security Solutions</a></div>
895       
896</div></div>
897              <div>
898
899<div id="p-4216" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
900  
901
902
903
904
905            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/php-hosting-providers">Hosting Providers</a></div>
906       
907</div></div>
908              <div>
909
910<div id="p-4217" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
911  
912
913
914
915
916            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/php-windows">Windows Solutions</a></div>
917       
918</div></div>
919              <div>
920
921<div id="p-4218" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
922  
923
924
925
926
927            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/migrating-from-zend-server-to-zendphp">Zend Server Migration</a></div>
928       
929</div></div>
930          </div>
931  
932  </div>
933</div>
934
935    </div>
936    </div>
937
938</div>
939</div>
940          </div>
941  
942      </div>
943
944
945
946      </div>
947    </div>
948
949    
950  </div>
951
952        </li>
953      
954                                
955        
956        <li
957          class="menu-item list-none border-gray-100"
958        >
959
960                
961          <div class="flex items-center justify-between">
962
963                                                            
964                      <button
965              type="button"
966               class="px-1 py-1 inline-flex items-center gap-2 flex-1 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 menu-item--has-panel" aria-haspopup="true" :aria-expanded="(activeItem === 3) ? &quot;true&quot; : &quot;false&quot;"
967                              @click="activeItem = activeItem === 3 ? null : 3"
968                          >
969              Learn
970            </button>
971          
972                                      <button
973                class="px-4 py-4 mr-12 lg:mr-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2"
974                @click="activeItem = activeItem === 3 ? null : 3"
975                :aria-expanded="activeItem === 3 ? 'true' : 'false'"
976                aria-label="Toggle Learn submenu"
977              >
978                <svg
979                  class="w-4 h-4 transition-transform duration-200"
980                  :class="activeItem === 3 ? 'rotate-180' : ''"
981                  xmlns="http://www.w3.org/2000/svg"
982                  fill="none" viewBox="0 0 24 24"
983                  stroke="currentColor" stroke-width="2"
984                >
985                  <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />
986                </svg>
987              </button>
988            
989          </div>
990
991  
992  <div
993    x-show="activeItem === 3"
994    x-transition:enter="transition ease-out duration-200"
995    x-transition:enter-start="opacity-0 -translate-y-2"
996    x-transition:enter-end="opacity-100 translate-y-0"
997    x-transition:leave="transition ease-in duration-150"
998    x-transition:leave-start="opacity-100 translate-y-0"
999    x-transition:leave-end="opacity-0 -translate-y-2"
1000    class="flex flex-col"
1001    x-cloak
1002  >
1003        <div class=" flex-1">
1004      <div class="
1005        lg:p-4
1006        [&_.layout]:!block
1007        [&_.layout__region]:!block
1008        [&_.layout__region]:!w-full
1009      ">
1010        
1011  
1012  <div class="menu_link_content menu-link-contentmain-menu-system view-mode-
1012default menu-dropdown menu-dropdown-0 menu-type-default">
1013              
1014
1015
1016
1017
1018      <div class="field field--name-field-menu-panel field--type-entity-reference-revisions field--label-hidden">
1019              <div>
1020
1021<div id="p-4220" class="paragraph paragraph--type--menu-panel paragraph--view-mode--default">
1022  
1023<div  class="layout--four-column-25-25-25-25-menu w-full lg:w-[calc(100vw-4rem)] max-w-screen-lg mx-auto relative">
1024  <div  class="grid grid-cols-1 lg:grid-cols-[1fr_1fr_1fr_1fr] gap-4">
1025          <div  class="layout__region--col1 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
1026        
1027
1028
1029<div id="p-4227" class="menu-link-list p-4 has-title">
1030      <span class="font-bold w-full leading-normal">Resources</span>
1031    <span class="hidden lg:inline"></span>
1032  <div class="menu-links-wrapper">
1033    
1034
1035
1036
1037
1038      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
1039              <div>
1040
1041<div id="p-4221" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1042  
1043
1044
1045
1046
1047            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/blog">Blogs</a></div>
1048       
1049</div></div>
1050              <div>
1051
1052<div id="p-4222" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1053  
1054
1055
1056
1057
1058            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/resources/ebooks-papers">eBooks &amp; Papers</a></div>
1059       
1060</div></div>
1061              <div>
1062
1063<div id="p-4223" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1064  
1065
1066
1067
1068
1069            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/resources/webinars">Webinars</a></div>
1070       
1071</div></div>
1072              <div>
1073
1074<div id="p-4224" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1075  
1076
1077
1078
1079
1080            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/resources/videos">Videos</a></div>
1081       
1082</div></div>
1083              <div>
1084
1085<div id="p-4225" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1086  
1087
1088
1089
1090
1091            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/resources/php-landscape-report">PHP Landscape Report</a></div>
1092       
1093</div></div>
1094              <div>
1095
1096<div id="p-4226" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1097  
1098
1099
1100
1101
1102            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/resources">All Resources</a></div>
1103       
1104</div></div>
1105          </div>
1106  
1107  </div>
1108</div>
1109
1110      </div>
1111            <div  class="layout__region--col2 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
1112      
1113
1114
1115<div id="p-4232" class="menu-link-list p-4 has-title">
1116      <span class="font-bold w-full leading-normal">Training</span>
1117    <span class="hidden lg:inline"></span>
1118  <div class="menu-links-wrapper">
1119    
1120
1121
1122
1123
1124      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
1125              <div>
1126
1127<div id="p-4228" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1128  
1129
1130
1131
1132
1133            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/training/php-certification-exam">PHP Certification</a></div>
1134       
1135</div></div>
1136              <div>
1137
1138<div id="p-4229" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1139  
1140
1141
1142
1143
1144            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/training/php">On-Demand Courses</a></div>
1145       
1146</div></div>
1147              <div>
1148
1149<div id="p-4230" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1150  
1151
1152
1153
1154
1155            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/training/php">Instructor-Led Training</a></div>
1156       
1157</div></div>
1158              <div>
1159
1160<div id="p-4231" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1161  
1162
1163
1164
1165
1166            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="https://perforceoneplacetraining.perforce.com/learn/signin?_gl=1*12plhnt*_gcl_au*MjY4NzE1ODg5LjE3NzU1NzEwOTQ.">All Training</a></div>
1167       
1168</div></div>
1169          </div>
1170  
1171  </div>
1172</div>
1173
1174    </div>
1175            <div  class="layout__region--col3 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
1176      
1177
1178
1179<div id="p-4239" class="menu-link-list p-4 has-title">
1180      <span class="font-bold w-full leading-normal">Technical</span>
1181    <span class="hidden lg:inline"></span>
1182  <div class="menu-links-wrapper">
1183    
1184
1185
1186
1187
1188      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
1189              <div>
1190
1191<div id="p-4233" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1192  
1193
1194
1195
1196
1197            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="https://help.zend.com/">Documentation</a></div>
1198       
1199</div></div>
1200              <div>
1201
1202<div id="p-4234" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1203  
1204
1205
1206
1207
1208            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/php-security-center">Security Center</a></div>
1209       
1210</div></div>
1211              <div>
1212
1213<div id="p-4235" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1214  
1215
1216
1217
1218
1219            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="https://trust.perforce.com/">Trust Center</a></div>
1220       
1221</div></div>
1222              <div>
1223
1224<div id="p-4236" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1225  
1226
1227
1228
1229
1230            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="https://portal.perforce.com/s/topic/0TO5Y00000ByxvrWAB/zend?utm_medium=email&amp;utm_source=email-house&amp;utm_campaign=znd-glb-2025q4-ecm-quarterlynewsletter&amp;utm_content=blog&amp;_gl=1*1etznq9*_gcl_aw*R0NMLjE3Njc4ODI4MjUuQ2owS0NRaUF5UDNLQmhEOUFSSXNBQUpMbm5ZMC1SV2QyTGdVQXRiR0FNanE3aHJNa25TUGk4QVN0VTV0RnJmSXNpS1VJWGlrT3pLdF9kWWFBb3p1RUFMd193Y0I.*_gcl_au*MTQ1MjM3NzMwOC4xNzc0MjcwMzI1LjIwMTU1Njk1NDkuMTc3NDYyNDY0OC4xNzc0NjI0Njcy">Customer Support Portal</a></div>
1231       
1232</div></div>
1233              <div>
1234
1235<div id="p-4237" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1236  
1237
1238
1239
1240
1241            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/support">All Support</a></div>
1242       
1243</div></div>
1244              <div>
1245
1246<div id="p-4238" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1247  
1248
1249
1250
1251
1252            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/training/php-certification-exam">My Zend Account</a></div>
1253       
1254</div></div>
1255          </div>
1256  
1257  </div>
1258</div>
1259
1260    </div>
1261            <div  class="layout__region--col4 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
1262      
1263
1264<div id="p-4240" class="paragraph paragraph--type--menu-featured-content paragraph--view-mode--default menu-featured-content p-4 hidden lg:block">
1265      <span class="font-bold my-4 leading-normal">2026 PHP Landscape Report​</span>
1266  
1267  <div class="rounded-3xl overflow-hidden mx-auto !my-4">
1268  
1269
1270
1271
1272
1273            <div class="field field--name-field-image field--type-entity-reference field--label-hidden"><div>
1274  
1275  
1276
1277
1278
1279
1280  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
1281    <div class="visually-hidden">Image</div>
1282                          <img loading="lazy" src="/sites/default/files/2026-04/image-php-landscape-report-26-mockup.jpeg" alt="2026 PHP Landscape Report" />
1283
1284
1285                </div>
1286
1287</div>
1288</div>
1289       
1290    </div>
1291  <span class="menu-link-list">
1292  
1293
1294            <div class="text-long"><p>The PHP Ecosystem Changes Quickly – Are You Keeping Up?</p>
1295</div>
1296      
1297  </span>
1298
1299  <div class="menu-link-item mt-8">
1300    
1301
1302
1303
1304
1305            <div class="field field--name-field-link field--type-link field--label-hidden"><a href="/resources/php-landscape-report">Access Now &gt;</a></div>
1306          
1307    </div>
1308</div>
1309
1310    </div>
1311      </div>
1312</div>
1313
1314</div>
1315</div>
1316          </div>
1317  
1318      </div>
1319
1320
1321
1322      </div>
1323    </div>
1324
1325    
1326  </div>
1327
1328        </li>
1329      
1330                                
1331        
1332        <li
1333          class="menu-item list-none border-gray-100"
1334        >
1335
1336                
1337          <div class="flex items-center justify-between">
1338
1339                                    
1340                      <a href="/customers" class="px-1 py-1 inline-flex items-center gap-2 flex-1 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2" data-drupal-link-system-path="node/3">Customers</a>
1341          
1342                        
1343          </div>
1344
1345
1346        </li>
1347      
1348                                
1349        
1350        <li
1351          class="menu-item list-none border-gray-100"
1352        >
1353
1354                
1355          <div class="flex items-center justify-between">
1356
1357                                                            
1358                      <button
1359              type="button"
1360               class="px-1 py-1 inline-flex items-center gap-2 flex-1 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 menu-item--has-panel" aria-haspopup="true" :aria-expanded="(activeItem === 5) ? &quot;true&quot; : &quot;false&quot;"
1361                              @click="activeItem = activeItem === 5 ? null : 5"
1362                          >
1363              Company
1364            </button>
1365          
1366                                      <button
1367                class="px-4 py-4 mr-12 lg:mr-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2"
1368                @click="activeItem = activeItem === 5 ? null : 5"
1369                :aria-expanded="activeItem === 5 ? 'true' : 'false'"
1370                aria-label="Toggle Company submenu"
1371              >
1372                <svg
1373                  class="w-4 h-4 transition-transform duration-200"
1374                  :class="activeItem === 5 ? 'rotate-180' : ''"
1375                  xmlns="http://www.w3.org/2000/svg"
1376                  fill="none" viewBox="0 0 24 24"
1377                  stroke="currentColor" stroke-width="2"
1378                >
1379                  <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />
1380                </svg>
1381              </button>
1382            
1383          </div>
1384
1385  
1386  <div
1387    x-show="activeItem === 5"
1388    x-transition:enter="transition ease-out duration-200"
1389    x-transition:enter-start="opacity-0 -translate-y-2"
1390    x-transition:enter-end="opacity-100 translate-y-0"
1391    x-transition:leave="transition ease-in duration-150"
1392    x-transition:leave-start="opacity-100 translate-y-0"
1393    x-transition:leave-end="opacity-0 -translate-y-2"
1394    class="flex flex-col"
1395    x-cloak
1396  >
1397        <div class=" flex-1">
1398      <div class="
1399        lg:p-4
1400        [&_.layout]:!block
1401        [&_.layout__region]:!block
1402        [&_.layout__region]:!w-full
1403      ">
1404        
1405  
1406  <div class="menu_link_content menu-link-contentmain-menu-system view-mode-
1406default menu-dropdown menu-dropdown-0 menu-type-default">
1407              
1408
1409
1410
1411
1412      <div class="field field--name-field-menu-panel field--type-entity-reference-revisions field--label-hidden">
1413              <div>
1414
1415<div id="p-4241" class="paragraph paragraph--type--menu-panel paragraph--view-mode--default">
1416  <div class="layout--one-column-menu w-md mx-auto">
1417        <div  class="layout__region--main layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
1418    
1419
1420
1421<div id="p-4246" class="menu-link-list p-4 has-no-title">
1422    <span class="hidden lg:inline"></span>
1423  <div class="menu-links-wrapper">
1424    
1425
1426
1427
1428
1429      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
1430              <div>
1431
1432<div id="p-4242" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1433  
1434
1435
1436
1437
1438            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/about">About Perforce Zend</a></div>
1439       
1440</div></div>
1441              <div>
1442
1443<div id="p-4243" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1444  
1445
1446
1447
1448
1449            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/plugins">Download Plugins</a></div>
1450       
1451</div></div>
1452              <div>
1453
1454<div id="p-4244" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1455  
1456
1457
1458
1459
1460            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/downloads">Download Software</a></div>
1461       
1462</div></div>
1463              <div>
1464
1465<div id="p-4245" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1466  
1467
1468
1469
1470
1471            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/partners">Partners</a></div>
1472       
1473</div></div>
1474          </div>
1475  
1476  </div>
1477</div>
1478
1479    </div>
1480    </div>
1481
1482</div>
1483</div>
1484          </div>
1485  
1486      </div>
1487
1488
1489
1490      </div>
1491    </div>
1492
1493    
1494  </div>
1495
1496        </li>
1497            <div class="mobile-utility-nav-container md:hidden block">
1498        <nav role="navigation" aria-labelledby="-menu">
1499      
1500  <h2 id="-menu"></h2>
1501  
1502
1503        <ul class="utility-nav list-none md:flex hidden items-center desktop-utility-nav">
1504
1505                                                                
1506  
1507      
1508            
1509    <li>
1510
1511              <a href="/downloads" class="utility-nav__link utility-nav__icon hover:opacity-70 w-5 h-5 block !max-w-none">
1512          <div>
1513  
1514  
1515
1516
1517
1518
1519  <div class="field field--name-field-icon field--type-svg-image-field field--label-visually_hidden">
1520    <div class="visually-hidden">SVG</div>
1521                        <img width="25" height="25" alt="Downloads Icon" src="/sites/default/files/2026-04/icon-simple-download-bottom.svg" />
1522
1523                </div>
1524
1525</div>
1526
1527        </a>
1528
1529            
1530    </li>
1531
1532      
1533            
1534    <li>
1535
1536              <a href="https://portal.perforce.com/s/product/a3g5Y000006brwcQAA/zend" class="utility-nav__link utility-nav__icon hover:opacity-70 w-5 h-5 block !max-w-none">
1537          <div>
1538  
1539  
1540
1541
1542
1543
1544  <div class="field field--name-field-icon field--type-svg-image-field field--label-visually_hidden">
1545    <div class="visually-hidden">SVG</div>
1546                        <img width="25" height="25" alt="Customer Portal Icon" src="/sites/default/files/2026-04/icon-simple-composition-window-man.svg" />
1547
1548                </div>
1549
1550</div>
1551
1552        </a>
1553
1554            
1555    </li>
1556
1557      
1558            
1559    <li>
1560
1561      
1562        
1563        
1564                      <a href="/products/zendphp-enterprise/trial" class="text-[1.15rem] underline xl1485:no-underline xl1485:p4-cta p4-cta--secondary xl1485:border xl1485:border-p4-primary xl1485:border-solid xl1485:!px-4 xl1485:py-2 xl1485:mt-0 xl1485:hover:!no-underline">
1565              Free Trial
1566            </a>
1567
1568          
1569        
1570            
1571    </li>
1572
1573      
1574            
1575    <li>
1576
1577      
1578        
1579        
1580          
1581          <a href="/pricing" class="utility-nav__link underline xl1485:no-underline xl1485:!px-4 xl1485:mt-0 xl1485:p4-cta text-[1.15rem]">
1582            Request Pricing
1583          </a>
1584          
1585        
1586            
1587    </li>
1588
1589  </ul>
1590
1591
1592                                                                
1593  
1594      
1595            
1596    <li class="md:hidden block menu-item list-none border-gray-100 !mb-4 pl-4 text-[1.15rem] leading-[2.1rem] tracking-[.005rem] font-normal">
1597
1598              <a href="/downloads" class="px-1 py-1">
1599          Downloads
1600        </a>
1601
1602            
1603            
1604    <li class="md:hidden block menu-item list-none border-gray-100 !mb-4 pl-4 text-[1.15rem] leading-[2.1rem] tracking-[.005rem] font-normal">
1605
1606              <a href="https://portal.perforce.com/s/product/a3g5Y000006brwcQAA/zend" class="px-1 py-1">
1607          Customer Portal
1608        </a>
1609
1610            
1611            
1612    <li class="md:hidden block menu-item list-none border-gray-100 !mb-4 pl-4 text-[1.15rem] leading-[2.1rem] tracking-[.005rem] font-normal">
1613
1614      
1615        
1616        
1617                      
1618            
1619
1620
1621<a href="/products/zendphp-enterprise/trial"  class="p4-cta p4-cta--secondary text-[1.15rem] border border-p4-primary border-solid !px-4 py-2 mt-0 hover:!no-underline">
1622      Free Trial
1623  </a>
1624
1625          
1626        
1627            
1628            
1629    <li class="md:hidden block menu-item list-none border-gray-100 !mb-4 pl-4 text-[1.15rem] leading-[2.1rem] tracking-[.005rem] font-normal">
1630
1631      
1632        
1633        
1634          
1635            
1636
1637
1638<a href="/pricing"  class="p4-cta text-[1.15rem] !px-4 mt-0">
1639      Request Pricing
1640  </a>
1641          
1642        
1643        
1644  </nav>
1645
1646      </div>
1647    </ul>
1648  </div>
1649
1650    <ul
1651    id="main-nav-menu"
1652    class="menu menu-level-0 hidden xl:flex xl:flex-row xl:items-stretch xl:gap-[1.2rem] w-full xl:w-auto !m-0"
1653  >
1654    
1655                              
1656      
1657    <li
1658              @mouseenter="
1659          clearTimeout(closeTimer);
1660          activeItem = 0
1661        "
1662        @mouseleave="
1663          closeTimer = setTimeout(() => activeItem = null, 150)
1664        "
1665            class="
1666        menu-item !m-0 list-none
1667              "
1668    >
1669            
1670                          
1671            
1672              <button type="button"  class="px-3 py-2 inline-flex items-center gap-2 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 menu-item--has-panel" aria-haspopup="true" :aria-expanded="(activeItem === 0) ? &quot;true&quot; : &quot;false&quot;" @keydown.enter.prevent="activeItem = (activeItem === 0) ? null : 0" @keydown.space.prevent="activeItem = (activeItem === 0) ? null : 0" @keydown.escape.stop="activeItem = null">
1673          Products
1674        </button>
1675      
1676   
1677    <div
1678      x-show="activeItem === 0"
1679      x-cloak
1680      x-transition:enter="transition ease-out duration-200"
1681      x-transition:enter-start="opacity-0 translate-y-1"
1682      x-transition:enter-end="opacity-100 translate-y-0"
1683      x-transition:leave="transition ease-in-out duration-200"
1684      x-transition:leave-start="opacity-100 translate-y-0"
1685      x-transition:leave-end="opacity-0"
1686      @mouseenter="clearTimeout(closeTimer)"
1687      @mouseleave="closeTimer = setTimeout(() => activeItem = null, 150)"
1688      class="
1689        absolute top-full -mt-px z-50
1690                  left-0 right-0
1691              "
1692    >
1693
1694    <div class="
1695      bg-white shadow-lg rounded-3xl overflow-hidden border border-t flex flex-col
1696      w-max">
1697
1698            <div class=" flex-1">
1699        <div class="px-6 pt-6 pb-0">
1700          
1701  
1702  <div class="menu_link_content menu-link-contentmain-menu-system view-mode-
1702default menu-dropdown menu-dropdown-0 menu-type-default">
1703              
1704
1705
1706
1707
1708      <div class="field field--name-field-menu-panel field--type-entity-reference-revisions field--label-hidden">
1709              <div>
1710
1711<div id="p-4196" class="paragraph paragraph--type--menu-panel paragraph--view-mode--default">
1712  
1713<div  class="layout--two-column-50-50-menu w-full max-w-2xl mx-auto">
1714  <div  class="grid grid-cols-1 lg:grid-cols-2 gap-4">
1715        <div  class="layout__region--col1 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
1716      
1717
1718
1719<div id="p-4201" class="menu-link-list p-4 has-no-title">
1720    <span class="hidden lg:inline"></span>
1721  <div class="menu-links-wrapper">
1722    
1723
1724
1725
1726
1727      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
1728              <div>
1729
1730<div id="p-4197" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1731  
1732
1733
1734
1735
1736            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/index%2Ephp/products/zendphp-enterprise">ZendPHP</a></div>
1737       
1738</div></div>
1739              <div>
1740
1741<div id="p-4198" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1742  
1743
1744
1745
1746
1747            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/index%2Ephp/products/zendhq">ZendHQ</a></div>
1748       
1749</div></div>
1750              <div>
1751
1752<div id="p-4199" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1753  
1754
1755
1756
1757
1758            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/index%2Ephp/products/enterprise-web-platform">Zend Web Platform</a></div>
1759       
1760</div></div>
1761              <div>
1762
1763<div id="p-4200" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1764  
1765
1766
1767
1768
1769            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/index%2Ephp/services/php-long-term-support">Long-Term Support</a></div>
1770       
1771</div></div>
1772          </div>
1773  
1774  </div>
1775</div>
1776
1777    </div>
1778            <div  class="layout__region--col2 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
1779      
1780
1781<div id="p-4202" class="paragraph paragraph--type--menu-featured-content paragraph--view-mode--default menu-featured-content p-4 hidden lg:block">
1782      <span class="font-bold my-4 leading-normal">ZendPHP</span>
1783  
1784  <div class="rounded-3xl overflow-hidden mx-auto !my-4">
1785  
1786
1787
1788
1789
1790            <div class="field field--name-field-image field--type-entity-reference field--label-hidden"><div>
1791  
1792  
1793
1794
1795
1796
1797  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
1798    <div class="visually-hidden">Image</div>
1799                          <img loading="lazy" src="/sites/default/files/2025-05/image-hero-background-light-large-opt2.svg" title="image-hero-background-light-large-opt2.svg" />
1800
1801
1802                </div>
1803
1804</div>
1805</div>
1806       
1807    </div>
1808  <span class="menu-link-list">
1809  
1810
1811            <div class="text-long"><p>PHP Runtime and Support</p>
1812</div>
1813      
1814  </span>
1815
1816  <div class="menu-link-item mt-8">
1817    
1818
1819
1820
1821
1822            <div class="field field--name-field-link field--type-link field--label-hidden"><a href="/index%2Ephp/products/zendphp-enterprise/trial">Try Free &gt;</a></div>
1823          
1824    </div>
1825</div>
1826
1827    </div>
1828      </div>
1829</div>
1830
1831</div>
1832</div>
1833          </div>
1834  
1835      </div>
1836
1837
1838
1839        </div>
1840      </div>
1841
1842      
1843    </div>
1844
1845  </div>
1846
1847      </li>
1848    
1849                              
1850      
1851    <li
1852              @mouseenter="
1853          clearTimeout(closeTimer);
1854          activeItem = 1
1855        "
1856        @mouseleave="
1857          closeTimer = setTimeout(() => activeItem = null, 150)
1858        "
1859            class="
1860        menu-item !m-0 list-none
1861              "
1862    >
1863            
1864                          
1865            
1866              <button type="button"  class="px-3 py-2 inline-flex items-center gap-2 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 menu-item--has-panel" aria-haspopup="true" :aria-expanded="(activeItem === 1) ? &quot;true&quot; : &quot;false&quot;" @keydown.enter.prevent="activeItem = (activeItem === 1) ? null : 1" @keydown.space.prevent="activeItem = (activeItem === 1) ? null : 1" @keydown.escape.stop="activeItem = null">
1867          Services
1868        </button>
1869      
1870   
1871    <div
1872      x-show="activeItem === 1"
1873      x-cloak
1874      x-transition:enter="transition ease-out duration-200"
1875      x-transition:enter-start="opacity-0 translate-y-1"
1876      x-transition:enter-end="opacity-100 translate-y-0"
1877      x-transition:leave="transition ease-in-out duration-200"
1878      x-transition:leave-start="opacity-100 translate-y-0"
1879      x-transition:leave-end="opacity-0"
1880      @mouseenter="clearTimeout(closeTimer)"
1881      @mouseleave="closeTimer = setTimeout(() => activeItem = null, 150)"
1882      class="
1883        absolute top-full -mt-px z-50
1884                  left-0 right-0
1885              "
1886    >
1887
1888    <div class="
1889      bg-white shadow-lg rounded-3xl overflow-hidden border border-t flex flex-col
1890      w-max">
1891
1892            <div class=" flex-1">
1893        <div class="px-6 pt-6 pb-0">
1894          
1895  
1896  <div class="menu_link_content menu-link-contentmain-menu-system view-mode-
1896default menu-dropdown menu-dropdown-0 menu-type-default">
1897              
1898
1899
1900
1901
1902      <div class="field field--name-field-menu-panel field--type-entity-reference-revisions field--label-hidden">
1903              <div>
1904
1905<div id="p-4203" class="paragraph paragraph--type--menu-panel paragraph--view-mode--default">
1906  
1907<div  class="layout--three-column-33-33-33-menu w-full lg:w-[calc(100vw-4rem)] max-w-screen-lg mx-auto">
1908  <div  class="grid grid-cols-1 lg:grid-cols-[1fr_1fr_1fr] gap-4">
1909        <div  class="layout__region--col1 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
1910      
1911
1912
1913<div id="p-4210" class="menu-link-list p-4 has-title">
1914      <span class="font-bold w-full leading-normal">All Services</span>
1915    <span class="hidden lg:inline"></span>
1916  <div class="menu-links-wrapper">
1917    
1918
1919
1920
1921
1922      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
1923              <div>
1924
1925<div id="p-4204" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1926  
1927
1928
1929
1930
1931            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/php-long-term-support">Long-Term Support</a></div>
1932       
1933</div></div>
1934              <div>
1935
1936<div id="p-4205" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1937  
1938
1939
1940
1941
1942            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration">Upgrades &amp; Modernization</a></div>
1943       
1944</div></div>
1945              <div>
1946
1947<div id="p-4206" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1948  
1949
1950
1951
1952
1953            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/custom-consulting">Consulting</a></div>
1954       
1955</div></div>
1956              <div>
1957
1958<div id="p-4207" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1959  
1960
1961
1962
1963
1964            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/performance-auditing">Auditing</a></div>
1965       
1966</div></div>
1967              <div>
1968
1969<div id="p-4208" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1970  
1971
1972
1973
1974
1975            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/black-belt-php-support-services">Black Belt Services</a></div>
1976       
1977</div></div>
1978              <div>
1979
1980<div id="p-4209" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
1981  
1982
1983
1984
1985
1986            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/continuous-delivery">CI/CD &amp; Test Automation</a></div>
1987       
1988</div></div>
1989          </div>
1990  
1991  </div>
1992</div>
1993
1994    </div>
1995            <div  class="layout__region--col2 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
1996      
1997
1998
1999<div id="p-4364" class="menu-link-list p-4 has-title">
2000      <span class="font-bold w-full leading-normal">Migration Services</span>
2001    <span class="hidden lg:inline"></span>
2002  <div class="menu-links-wrapper">
2003    
2004
2005
2006
2007
2008      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
2009              <div>
2010
2011<div id="p-4359" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2012  
2013
2014
2015
2016
2017            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration/laravel-migration">Laravel Migrations</a></div>
2018       
2019</div></div>
2020              <div>
2021
2022<div id="p-4360" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2023  
2024
2025
2026
2027
2028            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration/symfony-migration">Symfony Migrations</a></div>
2029       
2030</div></div>
2031              <div>
2032
2033<div id="p-4361" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2034  
2035
2036
2037
2038
2039            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration/codeigniter-migration">CodeIgniter Migrations</a></div>
2040       
2041</div></div>
2042              <div>
2043
2044<div id="p-4362" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2045  
2046
2047
2048
2049
2050            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration/cakephp-migration">CakePHP Migrations</a></div>
2051       
2052</div></div>
2053              <div>
2054
2055<div id="p-4363" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2056  
2057
2058
2059
2060
2061            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration/php-mysql-migration">PHP MySQL Migrations</a></div>
2062       
2063</div></div>
2064              <div>
2065
2066<div id="p-4366" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2067  
2068
2069
2070
2071
2072            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/services/migration">All Migration Services</a></div>
2073       
2074</div></div>
2075          </div>
2076  
2077  </div>
2078</div>
2079
2080    </div>
2081            <div  class="layout__region--col3 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
2082      
2083
2084<div id="p-4365" class="paragraph paragraph--type--menu-featured-content paragraph--view-mode--default menu-featured-content p-4 hidden lg:block">
2085      <span class="font-bold my-4 leading-normal">Complimentary Code Assessments for PHP Migrations</span>
2086  
2087  <div class="rounded-3xl overflow-hidden mx-auto !my-4">
2088  
2089
2090
2091
2092
2093            <div class="field field--name-field-image field--type-entity-reference field--label-hidden"><div>
2094  
2095  
2096
2097
2098
2099
2100  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
2101    <div class="visually-hidden">Image</div>
2102                          <img loading="lazy" src="/sites/default/files/2025-05/image-hero-background-light-small-opt2-animated.svg" alt="Decorative image with 3d triangles" />
2103
2104
2105                </div>
2106
2107</div>
2108</div>
2109       
2110    </div>
2111  <span class="menu-link-list">
2112  
2113  </span>
2114
2115  <div class="menu-link-item mt-8">
2116    
2117
2118
2119
2120
2121            <div class="field field--name-field-link field--type-link field--label-hidden"><a href="/services/migration/complimentary-code-assessment">Get Details &gt;</a></div>
2122          
2123    </div>
2124</div>
2125
2126    </div>
2127      </div>
2128</div>
2129
2130</div>
2131</div>
2132              <div>
2133<div id="p-4211" class="paragraph paragraph--type--menu-footer-cta paragraph--view-mode--default menu-footer-cta hidden lg:block">
2134  <div class="
2135    flex items-center gap-4
2136    bg-p4-white
2137    px-8 py-4
2138    -mx-6 -mb-6
2139    md:-mx-6 md:-mb-6">
2140  
2141          
2142    
2143    <div class="ml-auto">
2144          <a href="/services">
2145        All Services &gt;
2146      </a>
2147        </div>
2148  </div>
2149</div>
2150</div>
2151          </div>
2152  
2153      </div>
2154
2155
2156
2157        </div>
2158      </div>
2159
2160      
2161    </div>
2162
2163  </div>
2164
2165      </li>
2166    
2167                              
2168      
2169    <li
2170              @mouseenter="
2171          clearTimeout(closeTimer);
2172          activeItem = 2
2173        "
2174        @mouseleave="
2175          closeTimer = setTimeout(() => activeItem = null, 150)
2176        "
2177            class="
2178        menu-item !m-0 list-none
2179        relative      "
2180    >
2181            
2182                          
2183            
2184              <button type="button"  class="px-3 py-2 inline-flex items-center gap-2 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 menu-item--has-panel" aria-haspopup="true" :aria-expanded="(activeItem === 2) ? &quot;true&quot; : &quot;false&quot;" @keydown.enter.prevent="activeItem = (activeItem === 2) ? null : 2" @keydown.space.prevent="activeItem = (activeItem === 2) ? null : 2" @keydown.escape.stop="activeItem = null">
2185          Solutions
2186        </button>
2187      
2188   
2189    <div
2190      x-show="activeItem === 2"
2191      x-cloak
2192      x-transition:enter="transition ease-out duration-200"
2193      x-transition:enter-start="opacity-0 translate-y-1"
2194      x-transition:enter-end="opacity-100 translate-y-0"
2195      x-transition:leave="transition ease-in-out duration-200"
2196      x-transition:leave-start="opacity-100 translate-y-0"
2197      x-transition:leave-end="opacity-0"
2198      @mouseenter="clearTimeout(closeTimer)"
2199      @mouseleave="closeTimer = setTimeout(() => activeItem = null, 150)"
2200      class="
2201        absolute top-full -mt-px z-50
2202                  left-0 min-w-[14rem]
2203              "
2204    >
2205
2206    <div class="
2207      bg-white shadow-lg rounded-3xl overflow-hidden border border-t flex flex-col
2208      ">
2209
2210            <div class=" flex-1">
2211        <div class="px-6 pt-6 pb-0">
2212          
2213  
2214  <div class="menu_link_content menu-link-contentmain-menu-system view-mode-default menu-dropdown menu-dropdown-0 menu-type-default">
2215              
2216
2217
2218
2219
2220      <div class="field field--name-field-menu-panel field--type-entity-reference-revisions field--label-hidden">
2221              <div>
2222
2223<div id="p-4212" class="paragraph paragraph--type--menu-panel paragraph--view-mode--default">
2224  <div class="layout--one-column-menu w-md mx-auto">
2225        <div  class="layout__region--main layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
2226    
2227
2228
2229<div id="p-4219" class="menu-link-list p-4 has-title">
2230      <span class="font-bold w-full leading-normal">PHP Solutions</span>
2231    <span class="hidden lg:inline"></span>
2232  <div class="menu-links-wrapper">
2233    
2234
2235
2236
2237
2238      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
2239              <div>
2240
2241<div id="p-4213" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2242  
2243
2244
2245
2246
2247            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/cloud">Cloud Solutions</a></div>
2248       
2249</div></div>
2250              <div>
2251
2252<div id="p-4214" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2253  
2254
2255
2256
2257
2258            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/containers">Container Solutions</a></div>
2259       
2260</div></div>
2261              <div>
2262
2263<div id="p-4215" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2264  
2265
2266
2267
2268
2269            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/security">Security Solutions</a></div>
2270       
2271</div></div>
2272              <div>
2273
2274<div id="p-4216" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2275  
2276
2277
2278
2279
2280            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/php-hosting-providers">Hosting Providers</a></div>
2281       
2282</div></div>
2283              <div>
2284
2285<div id="p-4217" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2286  
2287
2288
2289
2290
2291            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/php-windows">Windows Solutions</a></div>
2292       
2293</div></div>
2294              <div>
2295
2296<div id="p-4218" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2297  
2298
2299
2300
2301
2302            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/solutions/migrating-from-zend-server-to-zendphp">Zend Server Migration</a></div>
2303       
2304</div></div>
2305          </div>
2306  
2307  </div>
2308</div>
2309
2310    </div>
2311    </div>
2312
2313</div>
2314</div>
2315          </div>
2316  
2317      </div>
2318
2319
2320
2321        </div>
2322      </div>
2323
2324      
2325    </div>
2326
2327  </div>
2328
2329      </li>
2330    
2331                              
2332      
2333    <li
2334              @mouseenter="
2335          clearTimeout(closeTimer);
2336          activeItem = 3
2337        "
2338        @mouseleave="
2339          closeTimer = setTimeout(() => activeItem = null, 150)
2340        "
2341            class="
2342        menu-item !m-0 list-none
2343              "
2344    >
2345            
2346                          
2347            
2348              <button type="button"  class="px-3 py-2 inline-flex items-center gap-2 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 menu-item--has-panel" aria-haspopup="true" :aria-expanded="(activeItem === 3) ? &quot;true&quot; : &quot;false&quot;" @keydown.enter.prevent="activeItem = (activeItem === 3) ? null : 3" @keydown.space.prevent="activeItem = (activeItem === 3) ? null : 3" @keydown.escape.stop="activeItem = null">
2349          Learn
2350        </button>
2351      
2352   
2353    <div
2354      x-show="activeItem === 3"
2355      x-cloak
2356      x-transition:enter="transition ease-out duration-200"
2357      x-transition:enter-start="opacity-0 translate-y-1"
2358      x-transition:enter-end="opacity-100 translate-y-0"
2359      x-transition:leave="transition ease-in-out duration-200"
2360      x-transition:leave-start="opacity-100 translate-y-0"
2361      x-transition:leave-end="opacity-0"
2362      @mouseenter="clearTimeout(closeTimer)"
2363      @mouseleave="closeTimer = setTimeout(() => activeItem = null, 150)"
2364      class="
2365        absolute top-full -mt-px z-50
2366                  left-0 right-0
2367              "
2368    >
2369
2370    <div class="
2371      bg-white shadow-lg rounded-3xl overflow-hidden border border-t flex flex-col
2372      w-max">
2373
2374            <div class=" flex-1">
2375        <div class="px-6 pt-6 pb-0">
2376          
2377  
2378  <div class="menu_link_content menu-link-contentmain-menu-system view-mode-
2378default menu-dropdown menu-dropdown-0 menu-type-default">
2379              
2380
2381
2382
2383
2384      <div class="field field--name-field-menu-panel field--type-entity-reference-revisions field--label-hidden">
2385              <div>
2386
2387<div id="p-4220" class="paragraph paragraph--type--menu-panel paragraph--view-mode--default">
2388  
2389<div  class="layout--four-column-25-25-25-25-menu w-full lg:w-[calc(100vw-4rem)] max-w-screen-lg mx-auto relative">
2390  <div  class="grid grid-cols-1 lg:grid-cols-[1fr_1fr_1fr_1fr] gap-4">
2391          <div  class="layout__region--col1 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
2392        
2393
2394
2395<div id="p-4227" class="menu-link-list p-4 has-title">
2396      <span class="font-bold w-full leading-normal">Resources</span>
2397    <span class="hidden lg:inline"></span>
2398  <div class="menu-links-wrapper">
2399    
2400
2401
2402
2403
2404      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
2405              <div>
2406
2407<div id="p-4221" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2408  
2409
2410
2411
2412
2413            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/blog">Blogs</a></div>
2414       
2415</div></div>
2416              <div>
2417
2418<div id="p-4222" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2419  
2420
2421
2422
2423
2424            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/resources/ebooks-papers">eBooks &amp; Papers</a></div>
2425       
2426</div></div>
2427              <div>
2428
2429<div id="p-4223" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2430  
2431
2432
2433
2434
2435            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/resources/webinars">Webinars</a></div>
2436       
2437</div></div>
2438              <div>
2439
2440<div id="p-4224" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2441  
2442
2443
2444
2445
2446            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/resources/videos">Videos</a></div>
2447       
2448</div></div>
2449              <div>
2450
2451<div id="p-4225" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2452  
2453
2454
2455
2456
2457            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/resources/php-landscape-report">PHP Landscape Report</a></div>
2458       
2459</div></div>
2460              <div>
2461
2462<div id="p-4226" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2463  
2464
2465
2466
2467
2468            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/resources">All Resources</a></div>
2469       
2470</div></div>
2471          </div>
2472  
2473  </div>
2474</div>
2475
2476      </div>
2477            <div  class="layout__region--col2 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
2478      
2479
2480
2481<div id="p-4232" class="menu-link-list p-4 has-title">
2482      <span class="font-bold w-full leading-normal">Training</span>
2483    <span class="hidden lg:inline"></span>
2484  <div class="menu-links-wrapper">
2485    
2486
2487
2488
2489
2490      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
2491              <div>
2492
2493<div id="p-4228" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2494  
2495
2496
2497
2498
2499            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/training/php-certification-exam">PHP Certification</a></div>
2500       
2501</div></div>
2502              <div>
2503
2504<div id="p-4229" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2505  
2506
2507
2508
2509
2510            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/training/php">On-Demand Courses</a></div>
2511       
2512</div></div>
2513              <div>
2514
2515<div id="p-4230" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2516  
2517
2518
2519
2520
2521            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/training/php">Instructor-Led Training</a></div>
2522       
2523</div></div>
2524              <div>
2525
2526<div id="p-4231" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2527  
2528
2529
2530
2531
2532            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="https://perforceoneplacetraining.perforce.com/learn/signin?_gl=1*12plhnt*_gcl_au*MjY4NzE1ODg5LjE3NzU1NzEwOTQ.">All Training</a></div>
2533       
2534</div></div>
2535          </div>
2536  
2537  </div>
2538</div>
2539
2540    </div>
2541            <div  class="layout__region--col3 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
2542      
2543
2544
2545<div id="p-4239" class="menu-link-list p-4 has-title">
2546      <span class="font-bold w-full leading-normal">Technical</span>
2547    <span class="hidden lg:inline"></span>
2548  <div class="menu-links-wrapper">
2549    
2550
2551
2552
2553
2554      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
2555              <div>
2556
2557<div id="p-4233" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2558  
2559
2560
2561
2562
2563            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="https://help.zend.com/">Documentation</a></div>
2564       
2565</div></div>
2566              <div>
2567
2568<div id="p-4234" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2569  
2570
2571
2572
2573
2574            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/php-security-center">Security Center</a></div>
2575       
2576</div></div>
2577              <div>
2578
2579<div id="p-4235" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2580  
2581
2582
2583
2584
2585            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="https://trust.perforce.com/">Trust Center</a></div>
2586       
2587</div></div>
2588              <div>
2589
2590<div id="p-4236" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2591  
2592
2593
2594
2595
2596            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="https://portal.perforce.com/s/topic/0TO5Y00000ByxvrWAB/zend?utm_medium=email&amp;utm_source=email-house&amp;utm_campaign=znd-glb-2025q4-ecm-quarterlynewsletter&amp;utm_content=blog&amp;_gl=1*1etznq9*_gcl_aw*R0NMLjE3Njc4ODI4MjUuQ2owS0NRaUF5UDNLQmhEOUFSSXNBQUpMbm5ZMC1SV2QyTGdVQXRiR0FNanE3aHJNa25TUGk4QVN0VTV0RnJmSXNpS1VJWGlrT3pLdF9kWWFBb3p1RUFMd193Y0I.*_gcl_au*MTQ1MjM3NzMwOC4xNzc0MjcwMzI1LjIwMTU1Njk1NDkuMTc3NDYyNDY0OC4xNzc0NjI0Njcy">Customer Support Portal</a></div>
2597       
2598</div></div>
2599              <div>
2600
2601<div id="p-4237" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2602  
2603
2604
2605
2606
2607            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/support">All Support</a></div>
2608       
2609</div></div>
2610              <div>
2611
2612<div id="p-4238" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2613  
2614
2615
2616
2617
2618            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/training/php-certification-exam">My Zend Account</a></div>
2619       
2620</div></div>
2621          </div>
2622  
2623  </div>
2624</div>
2625
2626    </div>
2627            <div  class="layout__region--col4 layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
2628      
2629
2630<div id="p-4240" class="paragraph paragraph--type--menu-featured-content paragraph--view-mode--default menu-featured-content p-4 hidden lg:block">
2631      <span class="font-bold my-4 leading-normal">2026 PHP Landscape Report​</span>
2632  
2633  <div class="rounded-3xl overflow-hidden mx-auto !my-4">
2634  
2635
2636
2637
2638
2639            <div class="field field--name-field-image field--type-entity-reference field--label-hidden"><div>
2640  
2641  
2642
2643
2644
2645
2646  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
2647    <div class="visually-hidden">Image</div>
2648                          <img loading="lazy" src="/sites/default/files/2026-04/image-php-landscape-report-26-mockup.jpeg" alt="2026 PHP Landscape Report" />
2649
2650
2651                </div>
2652
2653</div>
2654</div>
2655       
2656    </div>
2657  <span class="menu-link-list">
2658  
2659
2660            <div class="text-long"><p>The PHP Ecosystem Changes Quickly – Are You Keeping Up?</p>
2661</div>
2662      
2663  </span>
2664
2665  <div class="menu-link-item mt-8">
2666    
2667
2668
2669
2670
2671            <div class="field field--name-field-link field--type-link field--label-hidden"><a href="/resources/php-landscape-report">Access Now &gt;</a></div>
2672          
2673    </div>
2674</div>
2675
2676    </div>
2677      </div>
2678</div>
2679
2680</div>
2681</div>
2682          </div>
2683  
2684      </div>
2685
2686
2687
2688        </div>
2689      </div>
2690
2691      
2692    </div>
2693
2694  </div>
2695
2696      </li>
2697    
2698                              
2699      
2700    <li
2701            class="
2702        menu-item !m-0 list-none
2703              "
2704    >
2705            
2706            
2707            
2708              <a href="/customers" class="px-3 py-2 inline-flex items-center gap-2 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2" data-drupal-link-system-path="node/3">Customers</a>
2709      
2710 
2711      </li>
2712    
2713                              
2714      
2715    <li
2716              @mouseenter="
2717          clearTimeout(closeTimer);
2718          activeItem = 5
2719        "
2720        @mouseleave="
2721          closeTimer = setTimeout(() => activeItem = null, 150)
2722        "
2723            class="
2724        menu-item !m-0 list-none
2725        relative      "
2726    >
2727            
2728                          
2729            
2730              <button type="button"  class="px-3 py-2 inline-flex items-center gap-2 heading-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 menu-item--has-panel" aria-haspopup="true" :aria-expanded="(activeItem === 5) ? &quot;true&quot; : &quot;false&quot;" @keydown.enter.prevent="activeItem = (activeItem === 5) ? null : 5" @ke
2730ydown.space.prevent="activeItem = (activeItem === 5) ? null : 5" @keydown.escape.stop="activeItem = null">
2731          Company
2732        </button>
2733      
2734   
2735    <div
2736      x-show="activeItem === 5"
2737      x-cloak
2738      x-transition:enter="transition ease-out duration-200"
2739      x-transition:enter-start="opacity-0 translate-y-1"
2740      x-transition:enter-end="opacity-100 translate-y-0"
2741      x-transition:leave="transition ease-in-out duration-200"
2742      x-transition:leave-start="opacity-100 translate-y-0"
2743      x-transition:leave-end="opacity-0"
2744      @mouseenter="clearTimeout(closeTimer)"
2745      @mouseleave="closeTimer = setTimeout(() => activeItem = null, 150)"
2746      class="
2747        absolute top-full -mt-px z-50
2748                  left-0 min-w-[14rem]
2749              "
2750    >
2751
2752    <div class="
2753      bg-white shadow-lg rounded-3xl overflow-hidden border border-t flex flex-col
2754      ">
2755
2756            <div class=" flex-1">
2757        <div class="px-6 pt-6 pb-0">
2758          
2759  
2760  <div class="menu_link_content menu-link-contentmain-menu-system view-mode-default menu-dropdown menu-dropdown-0 menu-type-default">
2761              
2762
2763
2764
2765
2766      <div class="field field--name-field-menu-panel field--type-entity-reference-revisions field--label-hidden">
2767              <div>
2768
2769<div id="p-4241" class="paragraph paragraph--type--menu-panel paragraph--view-mode--default">
2770  <div class="layout--one-column-menu w-md mx-auto">
2771        <div  class="layout__region--main layout__region w-full lg:hover:bg-p4-white transition duration-300 ease-in-out rounded-lg !mb-6">
2772    
2773
2774
2775<div id="p-4246" class="menu-link-list p-4 has-no-title">
2776    <span class="hidden lg:inline"></span>
2777  <div class="menu-links-wrapper">
2778    
2779
2780
2781
2782
2783      <div class="field field--name-field-menu-links field--type-entity-reference-revisions field--label-hidden">
2784              <div>
2785
2786<div id="p-4242" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2787  
2788
2789
2790
2791
2792            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/about">About Perforce Zend</a></div>
2793       
2794</div></div>
2795              <div>
2796
2797<div id="p-4243" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2798  
2799
2800
2801
2802
2803            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/plugins">Download Plugins</a></div>
2804       
2805</div></div>
2806              <div>
2807
2808<div id="p-4244" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2809  
2810
2811
2812
2813
2814            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/downloads">Download Software</a></div>
2815       
2816</div></div>
2817              <div>
2818
2819<div id="p-4245" class="paragraph paragraph--type--menu-link-item paragraph--view-mode--default menu-link-item">
2820  
2821
2822
2823
2824
2825            <div class="field field--name-field-menu-link field--type-link field--label-hidden"><a href="/partners">Partners</a></div>
2826       
2827</div></div>
2828          </div>
2829  
2830  </div>
2831</div>
2832
2833    </div>
2834    </div>
2835
2836</div>
2837</div>
2838          </div>
2839  
2840      </div>
2841
2842
2843
2844        </div>
2845      </div>
2846
2847      
2848    </div>
2849
2850  </div>
2851
2852      </li>
2853      </ul>
2854</nav>
2855  </nav>
2856<nav role="navigation" aria-labelledby="block-p4base-utilitynav-menu" id="block-p4base-utilitynav" data-region="header" class="py-8 px-2 text-[.9rem] [&amp;_li]:mx-3 hidden md:flex items-center justify-end xl:order-2 order-1 ml-auto">
2857  
2858            
2859  <h2 class="visually-hidden" id="block-p4base-utilitynav-menu">Utility Nav</h2>
2860  
2861
2862  <div class="flex items-center gap-2">
2863    
2864
2865      <div x-data="{ open: false }" class="relative flex items-center">
2866    <!-- Search Icon Button -->
2867    <button @click="open = true" class="hover:text-gray-300 dark:text-p4-teal focus:outline-none" id="search-button" aria-label="Open Site Search" title="Open Site Search">
2868      <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="w-6 h-6">
2869        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-4.35-4.35M16 10a6 6 0 1 0-12 0 6 6 0 0 0 12 0z"/>
2870      </svg>
2871    </button>
2872
2873    <!-- Fullscreen Search Overlay -->
2874    <div x-show="open" x-transition.opacity x-cloak
2875         @click.away="open = false"
2876         @keydown.escape.window="open = false"
2877         x-init="$watch('open', value => {
2878         if (value) {
2879            $nextTick(() => {
2880            const input = document.querySelector('#search-modal-content input[type=text]');
2881            if (input) input.focus();
2882          });
2883         }
2884       })"
2885         class="fixed inset-0 bg-p4-primary bg-opacity-90 flex items-center justify-center z-50">
2886
2887      <div class="container p-4 relative">
2888          <!-- Search Form Container -->
2889        <div id="search-modal-content" class="w-full flex items-center justify-center">
2890          <div  data-drupal-selector="views-exposed-form-sitewide-search-page-search" class="block views-exposed-form bef-exposed-form">
2891  
2892      <h2 class="h2">Sitewide Search</h2>
2893    
2894      <form action="/search" method="get" id="views-exposed-form-sitewide-search-page-search" accept-charset="UTF-8">
2895
2896        <div class="relative mx-auto">
2897        <input
2898                type="text"
2899                name="keys"
2900                value=""
2901                placeholder="Search..."
2902                class="w-[800px] placeholder:text-p4-primary text-base text-p4-dark py-4 px-4 pr-12 border rounded-md focus:outline-none focus:ring-0 focus:border-transparent"
2903        />
2904
2905                <button
2906                type="submit"
2907                name=""
2908                value="Apply"
2909                class="absolute top-1/2 right-8 transform -translate-y-1/2"
2910                aria-label="Search"
2911        >
2912            <svg class="w-6 h-6 text-p4-primary" id="icon_search" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2913                <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"
2914                      d="M17.4 9.2c0 4.5-3.7 8.2-8.2 8.2S1 13.8 1 9.2 4.7 1 9.2 1s8.2 3.7 8.2 8.2ZM15 15l8 8"/>
2915            </svg>
2916
2917        </button>
2918    </div>
2919
2920        
2921    
2922    
2923</form>
2924  </div>
2925
2926            <!-- Close Button -->
2927            <button @click="open = false"
2928                    class="ml-8 w-10 h-10 bg-p4-teal text-p4-dark hover:text-black text-xl rounded-full flex items-center justify-center">
2929                ✖
2930            </button>
2931        </div>
2932      </div>
2933    </div>
2934  </div>
2935
2936
2937        <div>
2938              <ul class="utility-nav list-none md:flex hidden items-center desktop-utility-nav">
2939
2940                                                                
2941  
2942      
2943            
2944    <li>
2945
2946              <a href="/downloads" class="utility-nav__link utility-nav__icon hover:opacity-70 w-5 h-5 block !max-w-none">
2947          <div>
2948  
2949  
2950
2951
2952
2953
2954  <div class="field field--name-field-icon field--type-svg-image-field field--label-visually_hidden">
2955    <div class="visually-hidden">SVG</div>
2956                        <img width="25" height="25" alt="Downloads Icon" src="/sites/default/files/2026-04/icon-simple-download-bottom.svg" />
2957
2958                </div>
2959
2960</div>
2961
2962        </a>
2963
2964            
2965    </li>
2966
2967      
2968            
2969    <li>
2970
2971              <a href="https://portal.perforce.com/s/product/a3g5Y000006brwcQAA/zend" class="utility-nav__link utility-nav__icon hover:opacity-70 w-5 h-5 block !max-w-none">
2972          <div>
2973  
2974  
2975
2976
2977
2978
2979  <div class="field field--name-field-icon field--type-svg-image-field field--label-visually_hidden">
2980    <div class="visually-hidden">SVG</div>
2981                        <img width="25" height="25" alt="Customer Portal Icon" src="/sites/default/files/2026-04/icon-simple-composition-window-man.svg" />
2982
2983                </div>
2984
2985</div>
2986
2987        </a>
2988
2989            
2990    </li>
2991
2992      
2993            
2994    <li>
2995
2996      
2997        
2998        
2999                      <a href="/products/zendphp-enterprise/trial" class="text-[1.15rem] underline xl1485:no-underline xl1485:p4-cta p4-cta--secondary xl1485:border xl1485:border-p4-primary xl1485:border-solid xl1485:!px-4 xl1485:py-2 xl1485:mt-0 xl1485:hover:!no-underline">
3000              Free Trial
3001            </a>
3002
3003          
3004        
3005            
3006    </li>
3007
3008      
3009            
3010    <li>
3011
3012      
3013        
3014        
3015          
3016          <a href="/pricing" class="utility-nav__link underline xl1485:no-underline xl1485:!px-4 xl1485:mt-0 xl1485:p4-cta text-[1.15rem]">
3017            Request Pricing
3018          </a>
3019          
3020        
3021            
3022    </li>
3023
3024  </ul>
3025
3026
3027                                                                
3028  
3029      
3030            
3031    <li class="md:hidden block menu-item list-none border-gray-100 !mb-4 pl-4 text-[1.15rem] leading-[2.1rem] tracking-[.005rem] font-normal">
3032
3033              <a href="/downloads" class="px-1 py-1">
3034          Downloads
3035        </a>
3036
3037            
3038            
3039    <li class="md:hidden block menu-item list-none border-gray-100 !mb-4 pl-4 text-[1.15rem] leading-[2.1rem] tracking-[.005rem] font-normal">
3040
3041              <a href="https://portal.perforce.com/s/product/a3g5Y000006brwcQAA/zend" class="px-1 py-1">
3042          Customer Portal
3043        </a>
3044
3045            
3046            
3047    <li class="md:hidden block menu-item list-none border-gray-100 !mb-4 pl-4 text-[1.15rem] leading-[2.1rem] tracking-[.005rem] font-normal">
3048
3049      
3050        
3051        
3052                      
3053            
3054
3055
3056<a href="/products/zendphp-enterprise/trial"  class="p4-cta p4-cta--secondary text-[1.15rem] border border-p4-primary border-solid !px-4 py-2 mt-0 hover:!no-underline">
3057      Free Trial
3058  </a>
3059
3060          
3061        
3062            
3063            
3064    <li class="md:hidden block menu-item list-none border-gray-100 !mb-4 pl-4 text-[1.15rem] leading-[2.1rem] tracking-[.005rem] font-normal">
3065
3066      
3067        
3068        
3069          
3070            
3071
3072
3073<a href="/pricing"  class="p4-cta text-[1.15rem] !px-4 mt-0">
3074      Request Pricing
3075  </a>
3076          
3077        
3078        
3079          </div>
3080  </div>
3081</nav>
3082
3083    </div>
3084
3085  </div>
3086
3087        </header>
3088
3089<main role="main"  class="main-content px-0 pt-[96px]">
3090    
3091    
3092    
3093    
3094    <a id="main-content" tabindex="-1"></a>                <div>
3095        
3096<div  id="block-p4base-headerfieldblock" class="block block-- w-full">
3097  
3098    
3099      
3100
3101
3102
3103
3104      <div class="field field--name-field-header field--type-entity-reference-revisions field--label-hidden">
3105              <div>
3106
3107
3108<div id="p-2103" class="header-hero">
3109  <div class="min-h-[500px]
3110relative p-4 lp-header text-left  bg-cover bg-center">
3111  <div class="sm:max-w-container mx-auto mb-10 mt-24">
3112    <div class="md:flex mt-8 lp-header__content">
3113      <div class=" sm:w-8/12  sm:pr-6">
3114                  <div class="flex justify-center flex-col h-full">
3115              <div >
3116                                                        
3117
3118<h1  class="heading">
3119                PHP Runtimes for Mission-Critical Applications
3120      </h1>
3121                                                        <p class=" max-w-3xl">
3122                      ZendPHP Runtimes Keep Your Apps Secure, Supported, and Compliant 
3123                    </p>
3124                                    <div class="cta-wrapper mt-6">
3125                                                                                                    
3126
3127
3128<a href="/products/zendphp-enterprise/trial"  class="p4-cta">
3129      Try Free for 21 Days
3130  </a>
3131                                                              </div>
3132              </div>
3133          </div>
3134      </div>
3135          </div>
3136  </div>  
3137</div>
3138</div>
3139</div>
3140          </div>
3141  
3142  </div>
3143
3144    <div data-drupal-messages-fallback class="hidden"></div><div  id="block-p4base-content" class="block">
3145  
3146    
3147      
3148<article  class="node">
3149
3150  
3151    
3152
3153  
3154  <div>
3155    
3156
3157
3158            <div class="subnav field field--name-field-subnav field--type-entity-reference field--label-hidden bg-p4-primary shadow-xl">
3159
3160
3161                                  
3162    
3163
3164<ul  class="menu max-w-container mx-auto list-none hidden md:flex">
3165            
3166<li  class="menu__item flex leading-5 menu__item flex leading-5--active">
3167                      <a href="/products/zendphp-enterprise" class="menu__link menu__link--active is-active" data-drupal-link-system-path="node/454" aria-current="page">ZendPHP</a>
3168                </li>
3169        
3170<li  class="menu__item flex leading-5">
3171                      <a href="/products/zendhq" class="menu__link" data-drupal-link-system-path="node/166">ZendHQ</a>
3172                </li>
3173        
3174<li  class="menu__item flex leading-5">
3175                      <a href="/products/zendphp-enterprise/whats-new" class="menu__link" data-drupal-link-system-path="node/455">What&#039;s New</a>
3176                </li>
3177        
3178<li  class="menu__item flex leading-5">
3179                      <a href="/products/enterprise-web-platform" class="menu__link" data-drupal-link-system-path="node/7509">Zend Web Platform</a>
3180                </li>
3181  </ul>
3182  
3183
3184<div x-data="{
3185    mobileMenuOpen: false,
3186    toggleMenu() {
3187        this.mobileMenuOpen = !this.mobileMenuOpen;
3188        console.log(this.mobileMenuOpen);
3189        if (this.mobileMenuOpen) {
3190            document.body.style.overflow = 'hidden';
3191        } else {
3192
3193            document.body.style.overflow = '';
3194        }
3195    }
3196}" class="md:hidden">
3197        <button
3198            @click="toggleMenu()"
3199            class="md:hidden w-full flex items-center px-8 py-4 rounded-3xl flex justify-between">
3200        <span class="mr-2 text-white">Overview</span>
3201                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6" class="w-4 h-4 text-p4-teal" fill="currentColor">
3202            <path d="M0 0h10L5 6z" />
3203        </svg>
3204
3205    </button>
3206
3207        <nav :class="mobileMenuOpen ? 'block' : 'hidden'" class="mega-menu mt-2 md:block bg-white">
3208        <div class="fixed inset-0 bg-white z-[500] peer-checked:flex lg:hidden flex-col overflow-y-auto">
3209            <!-- Close Button -->
3210            <div class="text-right px-4 py-2 border-b">
3211                <label @click="toggleMenu()"  class="cursor-pointer text-xl">✖</label>
3212            </div>
3213            <!-- Menu Items -->
3214            <ul class="flex-1 flex flex-col gap-y-4 px-4 py-6 list-none">
3215                                    <li class="mega-menu__item list-none">
3216                                                    <!-- Top-Level Link Without Dropdown -->
3217                            <a href="/products/zendphp-enterprise" class="block py-2 px-4 font-medium text-lg hover:text-primary">
3218                                ZendPHP
3219                            </a>
3220                                            </li>
3221                                    <li class="mega-menu__item list-none">
3222                                                    <!-- Top-Level Link Without Dropdown -->
3223                            <a href="/products/zendhq" class="block py-2 px-4 font-medium text-lg hover:text-primary">
3224                                ZendHQ
3225                            </a>
3226                                            </li>
3227                                    <li class="mega-menu__item list-none">
3228                                                    <!-- Top-Level Link Without Dropdown -->
3229                            <a href="/products/zendphp-enterprise/whats-new" class="block py-2 px-4 font-medium text-lg hover:text-primary">
3230                                What&#039;s New
3231                            </a>
3232                                            </li>
3233                                    <li class="mega-menu__item list-none">
3234                                                    <!-- Top-Level Link Without Dropdown -->
3235                            <a href="/products/enterprise-web-platform" class="block py-2 px-4 font-medium text-lg hover:text-primary">
3236                                Zend Web Platform
3237                            </a>
3238                                            </li>
3239                            </ul>
3240        </div>
3241    </nav>
3242</div></div>
3243      
3244
3245
3246
3247
3248      <div class="field field--name-field-content field--type-entity-reference-revisions field--label-hidden">
3249              <div>
3250
3251<div id="p-2100" class="paragraph--type--section paragraph--view-mode--default">
3252  
3253<div class="layout layout--one-column max-w-container mx-auto">
3254        <div  class="main-region p-4">
3255    
3256
3257<div id="p-3649" class="paragraph--type--section paragraph--view-mode--default">
3258  
3259<div  class="layout layout--two-column-50-50">
3260  <div  class="grid grid-cols-1 md:grid-cols-2 gap-4 max-w-container mx-auto">
3261        <div  class="layout__region layout__region--col1">
3262      
3263
3264<div id="p-3650" class="rich-text p-4">
3265      <h2>Rest Easy With Secure and Supported PHP Runtimes</h2>
3266    
3267
3268            <div class="text-long"><div><div class="photoswipe-gallery"><p>Using a supported PHP version is crucial to keep mission-critical applications secure. For many companies, including those in highly regulated industries, frequent PHP upgrades aren’t feasible.&nbsp;</p><p>To keep your mission-critical PHP applications secure and performant, Zend offers fully supported PHP runtimes. Here’s what’s included:&nbsp;</p><ul><li>&nbsp;<strong>PHP Long Term Support (LTS)</strong> for PHP 7.2, 7.3, 7.4, and 8.1</li><li><strong>Backported patches and bug fixes </strong>to keep web apps secure and compliant</li><li><strong>24/7/365 technical support </strong>from global PHP experts</li><li><strong>ZendHQ extension, </strong>adding simplified scalability and observability&nbsp;</li></ul><p><strong>Try ZendPHP alongside ZendHQ free for 21 days to see how they fit within your infrastru
3268cture – no commitment required.</strong>&nbsp;</p><p><a class="p4-cta" href="https://www.zend.com/products/zendphp-enterprise/trial">Try ZendPHP Free</a>&nbsp; <a class="p4-cta p4-cta--secondary" href="https://help.zend.com/zendphp/current/content/home.htm">ZendPHP Installation Documentation</a>&nbsp;</p></div></div></div>
3269      
3270</div>
3271
3272    </div>
3273            <div  class="layout__region layout__region--col2">
3274      
3275<div id="p-3651" class="paragraph paragraph--type--image paragraph--view-mode--default overflow-hidden">
3276  <div class="text-center">
3277          <div>
3278  
3279  
3280
3281
3282
3283
3284  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
3285    <div class="visually-hidden">Image</div>
3286                          <img loading="lazy" src="/sites/default/files/2025-06/image-web-znd-php-hosting-providers-animated.svg" alt="PHP and hosting provider icons." />
3287
3288
3289                </div>
3290
3291</div>
3292
3293        
3294  </div>
3295</div>
3296
3297    </div>
3298      </div>
3299</div>
3300
3301</div>
3302
3303    </div>
3304    </div>
3305
3306</div>
3307</div>
3308              <div>
3309
3310
3311<div id="p-3640" class="compound-third-party-review-caro">
3312    
3313                                                                                                                                                                                                                                                                                                                                                                                                                                
3314        
3315<section class="my-20">
3316  <div class="text-center px-4">
3317    
3318
3319<h2  class="heading">
3320                Global Enterprises Choose Zend
3321      </h2>
3322  </div>
3323
3324    <div class="text-center">
3325    
3326
3327            <div class="text-long"><div><div class="photoswipe-gallery"><p>Zend is a top choice for PHP technologies, services, and support. Contact us today and discover what we can do for your infrastructure.&nbsp;</p></div></div></div>
3328      
3329  </div>
3330    
3331  <!-- Main Carousel Wrapper -->
3332  <div x-data="thirdpartycarouselData([{&quot;id&quot;:&quot;3637&quot;,&quot;rating&quot;:0,&quot;quote&quot;:&quot;\&quot; Zend is a big name in the PHP ecosystem, and that made choosing their services a straightforward decision. Their deep PHP expertise and easy-to-integrate LTS builds streamlined our processes \u2014 allowing us to deliver value and a stress-free experience to our customers.\&quot;&amp;nbsp;&quot;,&quot;reviewer_name&quot;:&quot;Philipp Strangh\u00f6ner &quot;,&quot;company_name&quot;:&quot;mittwald &quot;,&quot;job_title&quot;:&quot;Product Owner&quot;,&quot;bio_image&quot;:null,&quot;review_link&quot;:&quot;internal:\/customers\/case-studies\/mittwald&quot;,&quot;review_link_text&quot;:&quot;Read Case Study&quot;,&quot;textColor&quot;:&quot;&quot;,&quot;bg_color&quot;:&quot;&quot;,&quot;bg_image&quot;:&quot;\/sites\/default\/files\/2025-05\/image-web-testimonial-light-background2.svg&quot;,&quot;review_description&quot;:&quot;&quot;},{&quot;id&quot;:&quot;3638&quot;,&quot;rating&quot;:0,&quot;quote&quot;:&quot;\u201c[Zend] allowed us to focus on developing new features that will improve user satisfaction and further strengthen our marketplace experience, while still modernizing our application infrastructure.\&quot;&amp;nbsp;&quot;,&quot;reviewer_name&quot;:&quot;Henry Searle&quot;,&quot;company_name&quot;:&quot;Bark.com &quot;,&quot;job_title&quot;:&quot;Principal Engineer and Head of Architecture&quot;,&quot;bio_image&quot;:null,&quot;review_link&quot;:&quot;internal:\/customers\/case-studies\/barkcom&quot;,&quot;review_link_text&quot;:&quot;Read Case Study&quot;,&quot;textColor&quot;:&quot;&quot;,&quot;bg_color&quot;:&quot;&quot;,&quot;bg_image&quot;:&quot;\/sites\/default\/files\/2025-05\/image-web-testimonial-light-background4.svg&quot;,&quot;review_description&quot;:&quot;&quot;},{&quot;id&quot;:&quot;3639&quot;,&quot;rating&quot;:0,&quot;quote&quot;:&quot;\&quot;Contracting Zend Professional Services provided us access to the exact specialized experts that we needed to meet our customer timeline obligations and to provide us with the confidence that our PHP upgrade was performed correctly.\&quot;&amp;nbsp;&quot;,&quot;reviewer_name&quot;:&quot;Vladislav Vicentijevic&quot;,&quot;company_name&quot;:&quot;Willowglen Systems Inc.  &quot;,&quot;job_title&quot;:&quot;Unisen Project Manager&quot;,&quot;bio_image&quot;:null,&quot;review_link&quot;:&quot;internal:\/customers\/case-studies\/willowglen-systems&quot;,&quot;review_link_text&quot;:&quot;Read Case Study&quot;,&quot;textColor&quot;:&quot;&quot;,&quot;bg_color&quot;:&quot;&quot;,&quot;bg_image&quot;:&quot;\/sites\/default\/files\/2025-05\/image-web-testimonial-light-background3.svg&quot;,&quot;review_description&quot;:&quot;&quot;}])" class="relative max-w-container mx-auto mt-6 w-full overflow-hidden">
3333
3334    <!-- Carousel Track Wrapper  -->
3335    <div class="w-full overflow-hidden">
3336
3337      <!-- Review Carousel Container -->
3338      <div class="flex w-full transition-transform ease-out duration-700" x-ref="carousel" 
3339          :class="{
3340            'translate-x-0': activeSlide === 0,
3341            '-translate-x-full': activeSlide === 1,
3342            '-translate-x-[200%]': activeSlide === 2,
3343            '-translate-x-[300%]': activeSlide === 3,
3344            '-translate-x-[400%]': activeSlide === 4,
3345            '-translate-x-[500%]': activeSlide === 5
3346          }"
3347        >
3348        <!-- Loop through Reviews -->
3349        <template x-for="(review, index) in reviews" :key="index">
3350          <div class="flex-none w-full shrink-0">
3351            <!-- Single Review Component -->
3352        <div
3353          x-bind:id="'p-' + review.id"
3354          :class="review.bg_color + ' w-full p-4 sm:p-6 md:p-8 rounded-3xl overflow-hidden min-h-[400px] place-content-center'"
3355        >
3356
3357              <!-- Star Rating Section -->
3358              <template x-if="review.rating > 0">
3359              <div class="flex mb-8 sm:mb-6 justify-center items-center space-x-4">
3360                <template x-for="star in 5">
3361                  <span :class="star <= review.rating ? 'text-p4-cyan' : 'text-p4-white'" class="star text-4xl sm:text-5xl md:text-6xl">&#9733;</span>
3362                </template>
3363              </div>
3364              </template>
3365              <!-- Quote Section -->
3366              <div :class="`${review.textColor} quote text-lg mb-8 text-center`">
3367                <blockquote class="text-2xl text-center" :class="`${review.textColor}`" x-html="review.quote"></blockquote>
3368              </div>
3369
3370              <!-- Review Link -->
3371                <div :class="`${review.textColor} reviewer-details flex items-center justify-center text-center pt-6`">
3372                    <template x-if="review.review_link">
3373                        <span class="mr-2" x-text="review.review_description"></span>
3374                    </template>
3375                    <template x-if="review.review_link">
3376                <a :href="review.review_link.startsWith('internal:') ? review.review_link.replace('internal:', '') 
3376: review.review_link"
3377                  :target="review.review_link.startsWith('http') ? '_blank' : '_self'"
3378                  class="button p4-cta p4-cta--secondary"
3379                  rel="noopener noreferrer">
3380                  <span x-text="review.review_link_text"></span>
3381                </a>
3382
3383                    </template>
3384                </div>
3385              <!-- Company and Reviewer Details -->
3386              <div :class="`${review.textColor} flex flex-col sm:flex-row items-center justify-center text-center mt-4 pt-2`">
3387                <template x-if="review.bio_image">
3388                  <img :src="review.bio_image" :alt="`${review.reviewer_name} photo`" class="bio-image w-12 h-12 sm:w-16 sm:h-16 rounded-3xl mb-2 sm:mb-0 sm:mr-4" />
3389                </template>
3390                <div class="flex flex-col sm:flex-row items-center space-y-2 sm:space-y-0 sm:space-x-2">
3391                 <span class="company-name" x-text="getReviewerDetails(review)"></span>
3392                </div>
3393              </div>
3394            </div>
3395            <!-- End of Single Review Component -->
3396          </div>
3397        </template>
3398      </div>
3399    </div>
3400
3401    <!-- Navigation Arrows and Buttons for Slides -->
3402    <div class="flex justify-center items-center mt-6 mb-4">
3403      <!-- Previous Arrow Button -->
3404      <button @click="prevSlide()" class="mr-4 bg-p4-teal rounded-3xl hover:bg-p4-cyan transition p-2" aria-label="Previous slide">
3405        <svg xmlns="http://www.w3.org/2000/svg" class="w-3 h-3 hover:text-p4-dark transition-colors duration-300 transform rotate-180" fill="currentColor" viewBox="0 0 100 100">
3406            <polygon points="20,0 100,50 20,100"></polygon>
3407        </svg>
3408      </button>
3409
3410      <!-- Pagination Dots -->
3411      <div class="flex">
3412        <template x-for="(review, index) in reviews" :key="index">
3413          <button @click="activeSlide = index"
3414            :class="activeSlide === index ? 'bg-p4-teal text-white' : 'bg-p4-dark hover:bg-p4-cyan hover:text-white'"
3415            class="mx-1 w-2 h-2 sm:w-3 sm:h-3 rounded-3xl focus:outline-none transition-all duration-300"
3416            :aria-label="`Go to slide ${index + 1}`"></button>
3417        </template>
3418      </div>
3419
3420      <!-- Next Arrow Button -->
3421      <button @click="nextSlide()" class="ml-4 bg-p4-teal rounded-3xl hover:bg-p4-cyan transition p-2" aria-label="Next slide">
3422        <svg xmlns="http://www.w3.org/2000/svg" class="w-3 h-3 hover:text-p4-dark transition-colors duration-300" fill="currentColor" viewBox="0 0 100 100">
3423            <polygon points="20,0 100,50 20,100"></polygon>
3424        </svg>
3425      </button>
3426    </div>
3427
3428  </div>
3429</section>
3430</div></div>
3431              <div>
3432
3433<div id="p-3420" class="paragraph--type--section paragraph--view-mode--default">
3434  
3435<div class="layout layout--one-column max-w-container mx-auto">
3436        <div  class="main-region p-4">
3437    
3438
3439<div id="p-3647" class="tabbed-accordion-with-image">
3440    
3441<div class="accordion-with-image px-8 py-[3.75rem] max-w-container mx-auto">
3442    <div class="w-full">
3443        <div class="mb-6">
3444            
3445
3446<h2  class="heading">
3447                PHP Versions, OS Requirements, and LTS Options 
3448      </h2>
3449        </div>
3450        <div class="mb-2">
3451            
3452
3453<h4  class="heading">
3454                
3455      </h4>
3456        </div>
3457    </div>
3458    <div x-data="{
3459            tabItemCounts: [1,1,1],
3460            activeTab: '',
3461            activeItemId: '',
3462            getHashTab(isActiveItemId) {
3463                const accordionHash = window.location.hash.replace(/^#/, '');
3464                const paragraphId = '3647';
3465
3466                if( !accordionHash ) {
3467                    return ``;
3468                }
3469
3470                const [paramParagraphId, paramAccordTabId, paramAccordItemId] = accordionHash.split('_');
3471                const accordTabId = parseInt(paramAccordTabId, 10);
3472                let accordItemId;
3473                if( paramAccordItemId !== undefined && paramAccordItemId !== '' ) {
3474                    accordItemId = parseInt(paramAccordItemId, 10);
3475                }
3476                if (Number.isNaN(accordTabId) || accordTabId < 0 || accordTabId >= 3 
3477                    || (accordItemId !== undefined && Number.isNaN(accordItemId)) 
3478                    || (accordItemId >= this.tabItemCounts[accordTabId]) || paramParagraphId != paragraphId ) {
3479                    return ``;
3480                }
3481                return isActiveItemId && accordItemId ? paramAccordItemId : `${paramParagraphId}_${paramAccordTabId}` ;
3482            },
3483            scrollToTab(id) {
3484                const [paramParagraphId, paramAccordTabId, paramAccordItemId] = id.split('_');
3485                const paragraphId = `p-${paramParagraphId}`
3486                const el = document.getElementById(paragraphId);
3487                if (el) el.scrollIntoView({ behavior: 'smooth', block: 'start' });
3488            }
3489        }" 
3490        x-init="
3491                activeTab = getHashTab();
3492                activeItemId = getHashTab(true);
3493                if (activeItemId == activeTab) {
3494                    activeItemId = 0;
3495                }
3496                if(activeTab) {
3497                    $nextTick(() => scrollToTab(activeTab));
3498                } else {
3499                    activeTab = '3647_0'
3500                }
3501            " 
3502        @hashchange.window="
3503                activeTab = getHashTab();
3504                activeItemId = getHashTab(true);
3505                if (activeItemId == activeTab) {
3506                    activeItemId = 0;
3507                }
3508                window.location.reload();
3509            " 
3510         class="">
3511
3512        <!-- mobile tabs -->
3513        <div class="block md:hidden w-full md:p-4 mb-4">
3514            <label for="mobile-tabs" class="sr-only">Select Tab</label>
3515            <select
3516                    id="mobile-tabs"
3517                    @change="activeTab = $event.target.value"
3518                    class="w-full p-2 border rounded-3xl"
3519            >
3520                                    <option value="3647_0" :selected="activeTab == '3647_0'">
3521                        PHP Versions
3522                    </option>
3523                                    <option value="3647_1" :selected="activeTab == '3647_1'">
3524                        OS Requirements
3525                    </option>
3526                                    <option value="3647_2" :selected="activeTab == '3647_2'">
3527                        Zend PHP LTS
3528                    </option>
3529                            </select>
3530        </div>
3531
3532
3533        <div class="hidden md:block w-full py-4 md:mr-4">
3534            <!-- Tabs -->
3535            <ul class="pl-0 list-none flex gap-4 items-start flex-wrap">
3536                                    <li class="pl-0 list-none">
3537                        <button
3538                                id="tab-3647_0"
3539                                @click="activeTab = '3647_0'"
3540                                class="px-4 py-2 rounded-3xl leading-none hover:text-white hover:bg-p4-primary h-full  [.bg-p4-primary_&]:border-p4-cyan"
3541                                :class="{
3542                            'text-white bg-p4-primary [.bg-p4-primary_&]:bg-p4-cyan': activeTab == '3647_0',
3543                            'border border-p4-primary [.bg-p4-primary_&]:border-p4-cyan': activeTab != '3647_0'
3544                            }"
3545                        >
3546                            PHP Versions
3547                        </button>
3548                    </li>
3549                                    <li class="pl-0 list-none">
3550                        <button
3551                                id="tab-3647_1"
3552                                @click="activeTab = '3647_1'"
3553                                class="px-4 py-2 rounded-3xl leading-none hover:text-white hover:bg-p4-primary h-full  [.bg-p4-primary_&]:border-p4-cyan"
3554                                :class="{
3555                            'text-white bg-p4-primary [.bg-p4-primary_&]:bg-p4-cyan': activeTab == '3647_1',
3556                            'border border-p4-primary [.bg-p4-primary_&]:border-p4-cyan': activeTab != '3647_1'
3557                            }"
3558                        >
3559                            OS Requirements
3560                        </button>
3561                    </li>
3562                                    <li class="pl-0 list-none">
3563                        <button
3564                                id="tab-3647_2"
3565                                @click="activeTab = '3647_2'"
3566                                class="px-4 py-2 rounded-3xl leading-none hover:text-white hover:bg-p4-primary h-full  [.bg-p4-primary_&]:border-p4-cyan"
3567                                :class="{
3568                            'text-white bg-p4-primary [.bg-p4-primary_&]:bg-p4-cyan': activeTab == '3647_2',
3569                            'border border-p4-primary [.bg-p4-primary_&]:border-p4-cyan': activeTab != '3647_2'
3570                            }"
3571                        >
3572                            Zend PHP LTS
3573                        </button>
3574                    </li>
3575                            </ul>
3576        </div>
3577
3578        <div>
3579                            <div id="3647_0" x-show="activeTab == '3647_0'" x-cloak x-data="{ activeItem: (activeTab == '3647_0' ? `${activeTab}_${activeItemId}` : '3647_0_0') }" x-bind:data-active-item="activeItem" class="scroll-pt-6">
3580                    <div class="flex flex-col md:flex-row">
3581                        <div class="accordions w-full md:w-5/12 py-4 md:mr-4">
3582                            
3583
3584<div x-data="{
3585    accordionTabId: '3647_0',
3586  }"
3587  @set-accordion-meta.window="
3588    if (!accordionTabId && $event.detail.tabId) {
3589      accordionTabId = $event.detail.tabId;
3590    }
3591    if (!activeItem) {
3592      activeItem = $event.detail.activeItem || (accordionTabId ? `${accordionTabId}_0` : '');
3593    }
3594  "
3595  :activeItem="activeItem"
3596  :accordionTabId="accordionTabId" class=" border-t  w-full border-p4-gray-200">
3597            <div class="w-full">
3598                            <div x-data="{ copied: false }">
3599                                                                <button type="button"
3600                                class="flex w-full items-center justify-between gap-4 py-4 px-4 text-left"
3601                                @click="activeItem = activeItem === `${ accordionTabId }_0` ? -1 : `${ accordionTabId }_0`"
3602                                :class="activeItem === `${ accordionTabId }_0` ? 'expanded text-p4-primary [.text-p4-white_&]:text-p4-cyan' : 'font-medium'"
3603                                :aria-expanded="activeItem === `${ accordionTabId }_0` ? 'true' : 'false'">
3604                            <div>
3605                                <span>
3606                                    PHP Versions
3607                                    <span x-show="activeItem === `${ accordionTabId }_0` && 1 > 1"
3608                                        x-transition:enter="transition ease-out duration-200"
3609                                        @click.stop="
3610                                            const url = new URL(window.location);
3611                                            url.hash = activeItem;
3612                                            navigator.clipboard.writeText(url.toString())
3613                                                .then(() => {
3614                                                    copied = true
3615                                                    setTimeout(() => copied = false, 2000);
3616                                                })
3617                                                .catch(() => {});
3618                                        "
3619                                        title="Copy accordion link to clipboard"    
3620                                    >
3621                                        <svg x-show="!copied" x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1" width="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M9.16488 17.6505C8.92513 17.8743 8.73958 18.0241 8.54996 18.1336C7.62175 18.6695 6.47816 18.6695 5.54996 18.1336C5.20791 17.9361 4.87912 17.6073 4.22153 16.9498C3.56394 16.2922 3.23514 15.9634 3.03767 15.6213C2.50177 14.6931 2.50177 13.5495 3.03767 12.6213C3.23514 12.2793 3.56394 11.9505 4.22153 11.2929L7.04996 8.46448C7.70755 7.80689 8.03634 7.47809 8.37838 7.28062C9.30659 6.74472 10.4502 6.74472 11.3784 7.28061C11.7204 7.47809 12.0492 7.80689 12.7068 8.46448C13.3644 9.12207 13.6932 9.45086 13.8907 9.7929C14.4266 10.7211 14.4266 11.8647 13.8907 12.7929C13.7812 12.9825 13.6314 13.1681 13.4075 13.4078M10.5919 10.5922C10.368 10.8319 10.2182 11.0175 10.1087 11.2071C9.57284 12.1353 9.57284 13.2789 10.1087 14.2071C10.3062 14.5492 10.635 14.878 11.2926 15.5355C11.9502 16.1931 12.279 16.5219 12.621 16.7194C13.5492 17.2553 14.6928 17.2553 15.621 16.7194C15.9631 16.5219 16.2919 16.1931 16.9495 15.5355L19.7779 12.7071C20.4355 12.0495 20.7643 11.7207 20.9617 11.3787C21.4976 10.4505 21.4976 9.30689 20.9617 8.37869C20.7643 8.03665 20.4355 7.70785 19.7779 7.05026C19.1203 6.39267 18.7915 6.06388 18.4495 5.8664C17.5212 5.3305 16.3777 5.3305 15.4495 5.8664C15.2598 5.97588 15.0743 6.12571 14.8345 6.34955" stroke="#4c00ff" stroke-width="2" stroke-linecap="round"></path> </g></svg>
3622                                        <span x-show="copied" class="text-xs text-p4-gray-300">
3623                                            <svg x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1 cursor-default" width="20" id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path d="M10,20C4.486,20,0,15.515,0,10S4.486,0,10,0s10,4.486,10,10-4.486,10-10,10ZM10,1.852C5.507,1.852,1.852,5.507,1.852,10s3.655,8.148,8.148,8.148,8.148-3.655,8.148-8.148S14.493,1.852,10,1.852Z" fill="#4c00ff"/><path d="M9.463,14.292l-3.563-3.563c-.343-.343-.343-.898,0-1.241s.898-.343,1.241,0l2.089,2.089,3.533-5.016c.278-.396.826-.492,1.222-.212.396.279.491.826.212,1.222l-4.733,6.721Z" fill="#4c00ff"/></svg>
3624                                            Link Copied!
3625                                        </span>
3626                                </span>
3627                                </span>
3628                            </div>
3629                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
3630                                 fill="none" stroke-width="2" stroke="currentColor"
3631                                 class="size-5 shrink-0 transition"
3632                                 :class="activeItem === `${ accordionTabId }_0` ? 'rotate-180' : ''">
3633                                <path stroke-linecap="round" stroke-linejoin="round"
3634                                      d="M19.5 8.25l-7.5 7.5-7.5-7.5"/>
3635                            </svg>
3636                        </button>
3637                    
3638                    <div class="accordion-content grid overflow-hidden transition-all duration-300"
3639                        :class="activeItem === `${ accordionTabId }_0` 
3640                            ? 'grid-rows-[1fr] opacity-100' 
3641                            : 'grid-rows-[0fr] opacity-0'"
3642                         role="region">
3643                        <div class="min-h-0">
3644                            <div class="sm:text-base text-pretty pb-6  px-4 ">
3645                                
3646
3647            <div class="text-long"><div><div class="photoswipe-gallery"><ul><li>PHP 7.2 (LTS)&nbsp;</li><li>PHP 7.3 (LTS)&nbsp;</li><li>PHP 7.4 (LTS)&nbsp;</li><li>PHP 8.1 (LTS)&nbsp;</li><li>PHP 8.2&nbsp;</li><li>PHP 8.3&nbsp;</li><li>PHP 8.4&nbsp;</li><li>PHP 8.5&nbsp;</li></ul></div></div></div>
3648      
3649                            </div>
3650                        </div>
3651                    </div>
3652
3653                                            <hr class="border-p4-gray-200 border-t" />
3654                                    </div>
3655                    </div>
3656    </div>
3657                        </div>
3658                        <div class="md:w-7/12 pt-10">
3659                            <div>
3660  
3661  
3662
3663
3664
3665
3666  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
3667    <div class="visually-hidden">Image</div>
3668                          <img loading="lazy" src="/sites/default/files/2025-06/image-web-znd-php-training-checklist-animated.svg" alt="PHP checklist." />
3669
3670
3671                </div>
3672
3673</div>
3674
3675                        </div>
3676                    </div>
3677                </div>
3678                            <div id="3647_1" x-show="activeTab == '3647_1'" x-cloak x-data="{ activeItem: (activeTab == '3647_1' ? `${activeTab}_${activeItemId}` : '3647_1_0') }" x-bind:data-active-item="activeItem" class="scroll-pt-6">
3679                    <div class="flex flex-col md:flex-row">
3680                        <div class="accordions w-full md:w-5/12 py-4 md:mr-4">
3681                            
3682
3683<div x-data="{
3684    accordionTabId: '3647_1',
3685  }"
3686  @set-accordion-meta.window="
3687    if (!accordionTabId && $event.detail.tabId) {
3688      accordionTabId = $event.detail.tabId;
3689    }
3690    if (!activeItem) {
3691      activeItem = $event.detail.activeItem || (accordionTabId ? `${accordionTabId}_0` : '');
3692    }
3693  "
3694  :activeItem="activeItem"
3695  :accordionTabId="accordionTabId" class=" border-t  w-full border-p4-gray-200">
3696            <div class="w-full">
3697                            <div x-data="{ copied: false }">
3698                                                                <button type="button"
3699                                class="flex w-full items-center justify-between gap-4 py-4 px-4 text-left"
3700                                @click="activeItem = activeItem === `${ accordionTabId }_0` ? -1 : `${ accordionTabId }_0`"
3701                                :class="activeItem === `${ accordionTabId }_0` ? 'expanded text-p4-primary [.text-p4-white_&]:text-p4-cyan' : 'font-medium'"
3702                                :aria-expanded="activeItem === `${ accordionTabId }_0` ? 'true' : 'false'">
3703                            <div>
3704                                <span>
3705                                    OS Requirements
3706                                    <span x-show="activeItem === `${ accordionTabId }_0` && 1 > 1"
3707                                        x-transition:enter="transition ease-out duration-200"
3708                                        @click.stop="
3709                                            const url = new URL(window.location);
3710                                            url.hash = activeItem;
3711                                            navigator.clipboard.writeText(url.toString())
3712                                                .then(() => {
3713                                                    copied = true
3714                                                    setTimeout(() => copied = false, 2000);
3715                                                })
3716                                                .catch(() => {});
3717                                        "
3718                                        title="Copy accordion link to clipboard"    
3719                                    >
3720                                        <svg x-show="!copied" x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1" width="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M9.16488 17.6505C8.92513 17.8743 8.73958 18.0241 8.54996 18.1336C7.62175 18.6695 6.47816 18.6695 5.54996 18.1336C5.20791 17.9361 4.87912 17.6073 4.22153 16.9498C3.56394 16.2922 3.23514 15.9634 3.03767 15.6213C2.50177 14.6931 2.50177 13.5495 3.03767 12.6213C3.23514 12.2793 3.56394 11.9505 4.22153 11.2929L7.04996 8.46448C7.70755 7.80689 8.03634 7.47809 8.37838 7.28062C9.30659 6.74472 10.4502 6.74472 11.3784 7.28061C11.7204 7.47809 12.0492 7.80689 12.7068 8.46448C13.3644 9.12207 13.6932 9.45086 13.8907 9.7929C14.4266 10.7211 14.4266 11.8647 13.8907 12.7929C13.7812 12.9825 13.6314 13.1681 13.4075 13.4078M10.5919 10.5922C10.368 10.8319 10.2182 11.0175 10.1087 11.2071C9.57284 12.1353 9.57284 13.2789 10.1087 14.2071C10.3062 14.5492 10.635 14.878 11.2926 15.5355C11.9502 16.1931 12.279 16.5219 12.621 16.7194C13.5492 17.2553 14.6928 17.2553 15.621 16.7194C15.9631 16.5219 16.2919 16.1931 16.9495 15.5355L19.7779 12.7071C20.4355 12.0495 20.7643 11.7207 20.9617 11.3787C21.4976 10.4505 21.4976 9.30689 20.9617 8.37869C20.7643 8.03665 20.4355 7.70785 19.7779 7.05026C19.1203 6.39267 18.7915 6.06388 18.4495 5.8664C17.5212 5.3305 16.3777 5.3305 15.4495 5.8664C15.2598 5.97588 15.0743 6.12571 14.8345 6.34955" stroke="#4c00ff" stroke-width="2" stroke-linecap="round"></path> </g></svg>
3721                                        <span x-show="copied" class="text-xs text-p4-gray-300">
3722                                            <svg x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1 cursor-default" width="20" id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path d="M10,20C4.486,20,0,15.515,0,10S4.486,0,10,0s10,4.486,10,10-4.486,10-10,10ZM10,1.852C5.507,1.852,1.852,5.507,1.852,10s3.655,8.148,8.148,8.148,8.148-3.655,8.148-8.148S14.493,1.852,10,1.852Z" fill="#4c00ff"/><path d="M9.463,14.292l-3.563-3.563c-.343-.343-.343-.898,0-1.241s.898-.343,1.241,0l2.089,2.089,3.533-5.016c.278-.396.826-.492,1.222-.212.396.279.491.826.212,1.222l-4.733,6.721Z" fill="#4c00ff"/></svg>
3723                                            Link Copied!
3724                                        </span>
3725                                </span>
3726                                </span>
3727                            </div>
3728                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
3729                                 fill="none" stroke-width="2" stroke="currentColor"
3730                                 class="size-5 shrink-0 transition"
3731                                 :class="activeItem === `${ accordionTabId }_0` ? 'rotate-180' : ''">
3732                                <path stroke-linecap="round" stroke-linejoin="round"
3733                                      d="M19.5 8.25l-7.5 7.5-7.5-7.5"/>
3734                            </svg>
3735                        </button>
3736                    
3737                    <div class="accordion-content grid overflow-hidden transition-all duration-300"
3738                        :class="activeItem === `${ accordionTabId }_0` 
3739                            ? 'grid-rows-[1fr] opacity-100' 
3740                            : 'grid-rows-[0fr] opacity-0'"
3741                         role="region">
3742                        <div class="min-h-0">
3743                            <div class="sm:text-base text-pretty pb-6  px-4 ">
3744                                
3745
3746            <div class="text-long"><div><div class="photoswipe-gallery"><ul><li>Alpine Linux 3.20, 3.22</li><li>Amazon Linux 2</li><li>Debian 11, 12, 13</li><li>IBM i 7.4, 7.5, 7.6</li><li>RHEL / CentOS / Oracle Linux 7</li><li>RHEL / AlmaLinux / Oracle Linux / Rocky Linux 8, 9, 10</li><li>Ubuntu 20.04, 22.04, 24.04</li><li>Windows&nbsp;</li></ul></div></div></div>
3747      
3748                            </div>
3749                        </div>
3750                    </div>
3751
3752                                            <hr class="border-p4-gray-200 border-t" />
3753                                    </div>
3754                    </div>
3755    </div>
3756                        </div>
3757                        <div class="md:w-7/12 pt-10">
3758                            <div>
3759  
3760  
3761
3762
3763
3764
3765  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
3766    <div class="visually-hidden">Image</div>
3767                          <img loading="lazy" src="/sites/default/files/2025-06/image-web-znd-checklist-requirements-animated.svg" alt="Checklist with expert and network icons." />
3768
3769
3770                </div>
3771
3772</div>
3773
3774                        </div>
3775                    </div>
3776                </div>
3777                            <div id="3647_2" x-show="activeTab == '3647_2'" x-cloak x-data="{ activeItem: (activeTab == '3647_2' ? `${activeTab}_${activeItemId}` : '3647_2_0') }" x-bind:data-active-item="activeItem" class="scroll-pt-6">
3778                    <div class="flex flex-col md:flex-row">
3779                        <div class="accordions w-full md:w-5/12 py-4 md:mr-4">
3780                            
3781
3782<div x-data="{
3783    accordionTabId: '3647_2',
3784  }"
3785  @set-accordion-meta.window="
3786    if (!accordionTabId && $event.detail.tabId) {
3787      accordionTabId = $event.detail.tabId;
3788    }
3789    if (!activeItem) {
3790      activeItem = $event.detail.activeItem || (accordionTabId ? `${accordionTabId}_0` : '');
3791    }
3792  "
3793  :activeItem="activeItem"
3794  :accordionTabId="accordionTabId" class=" border-t  w-full border-p4-gray-200">
3795            <div class="w-full">
3796                            <div x-data="{ copied: false }">
3797                                                                <button type="button"
3798                                class="flex w-full items-center justify-between gap-4 py-4 px-4 text-left"
3799                                @click="activeItem = activeItem === `${ accordionTabId }_0` ? -1 : `${ accordionTabId }_0`"
3800                                :class="activeItem === `${ accordionTabId }_0` ? 'expanded text-p4-primary [.text-p4-white_&]:text-p4-cyan' : 'font-medium'"
3801                                :aria-expanded="activeItem === `${ accordionTabId }_0` ? 'true' : 'false'">
3802                            <div>
3803                                <span>
3804                                    Zend PHP LTS
3805                                    <span x-show="activeItem === `${ accordionTabId }_0` && 1 > 1"
3806                                        x-transition:enter="transition ease-out duration-200"
3807                                        @click.stop="
3808                                            const url = new URL(window.location);
3809                                            url.hash = activeItem;
3810                                            navigator.clipboard.writeText(url.toString())
3811                                                .then(() => {
3812                                                    copied = true
3813                                                    setTimeout(() => copied = false, 2000);
3814                                                })
3815                                                .catch(() => {});
3816                                        "
3817                                        title="Copy accordion link to clipboard"    
3818                                    >
3819                                        <svg x-show="!copied" x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1" width="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M9.16488 17.6505C8.92513 17.8743 8.73958 18.0241 8.54996 18.1336C7.62175 18.6695 6.47816 18.6695 5.54996 18.1336C5.20791 17.9361 4.87912 17.6073 4.22153 16.9498C3.56394 16.2922 3.23514 15.9634 3.03767 15.6213C2.50177 14.6931 2.50177 13.5495 3.03767 12.6213C3.23514 12.2793 3.56394 11.9505 4.22153 11.2929L7.04996 8.46448C7.70755 7.80689 8.03634 7.47809 8.37838 7.28062C9.30659 6.74472 10.4502 6.74472 11.3784 7.28061C11.7204 7.47809 12.0492 7.80689 12.7068 8.46448C13.3644 9.12207 13.6932 9.45086 13.8907 9.7929C14.4266 10.7211 14.4266 11.8647 13.8907 12.7929C13.7812 12.9825 13.6314 13.1681 13.4075 13.4078M10.5919 10.5922C10.368 10.8319 10.2182 11.0175 10.1087 11.2071C9.57284 12.1353 9.57284 13.2789 10.1087 14.2071C10.3062 14.5492 10.635 14.878 11.2926 15.5355C11.9502 16.1931 12.279 16.5219 12.621 16.7194C13.5492 17.2553 14.6928 17.2553 15.621 16.7194C15.9631 16.5219 16.2919 16.1931 16.9495 15.5355L19.7779 12.7071C20.4355 12.0495 20.7643 11.7207 20.9617 11.3787C21.4976 10.4505 21.4976 9.30689 20.9617 8.37869C20.7643 8.03665 20.4355 7.70785 19.7779 7.05026C19.1203 6.39267 18.7915 6.06388 18.4495 5.8664C1
38197.5212 5.3305 16.3777 5.3305 15.4495 5.8664C15.2598 5.97588 15.0743 6.12571 14.8345 6.34955" stroke="#4c00ff" stroke-width="2" stroke-linecap="round"></path> </g></svg>
3820                                        <span x-show="copied" class="text-xs text-p4-gray-300">
3821                                            <svg x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1 cursor-default" width="20" id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path d="M10,20C4.486,20,0,15.515,0,10S4.486,0,10,0s10,4.486,10,10-4.486,10-10,10ZM10,1.852C5.507,1.852,1.852,5.507,1.852,10s3.655,8.148,8.148,8.148,8.148-3.655,8.148-8.148S14.493,1.852,10,1.852Z" fill="#4c00ff"/><path d="M9.463,14.292l-3.563-3.563c-.343-.343-.343-.898,0-1.241s.898-.343,1.241,0l2.089,2.089,3.533-5.016c.278-.396.826-.492,1.222-.212.396.279.491.826.212,1.222l-4.733,6.721Z" fill="#4c00ff"/></svg>
3822                                            Link Copied!
3823                                        </span>
3824                                </span>
3825                                </span>
3826                            </div>
3827                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
3828                                 fill="none" stroke-width="2" stroke="currentColor"
3829                                 class="size-5 shrink-0 transition"
3830                                 :class="activeItem === `${ accordionTabId }_0` ? 'rotate-180' : ''">
3831                                <path stroke-linecap="round" stroke-linejoin="round"
3832                                      d="M19.5 8.25l-7.5 7.5-7.5-7.5"/>
3833                            </svg>
3834                        </button>
3835                    
3836                    <div class="accordion-content grid overflow-hidden transition-all duration-300"
3837                        :class="activeItem === `${ accordionTabId }_0` 
3838                            ? 'grid-rows-[1fr] opacity-100' 
3839                            : 'grid-rows-[0fr] opacity-0'"
3840                         role="region">
3841                        <div class="min-h-0">
3842                            <div class="sm:text-base text-pretty pb-6  px-4 ">
3843                                
3844
3845            <div class="text-long"><div><div class="photoswipe-gallery"><p>Upgrade on your schedule while maintaining compliance standards with Zend PHP LTS.&nbsp;</p><ul><li>Extend the PHP lifecycle at least two years beyond community support&nbsp;</li><li>Save money on refactoring codebases, particularly for large legacy apps&nbsp;</li><li>24/7/365 technical support, critical security patches, bug fixes, and more&nbsp;</li></ul><p>&nbsp;<a class="p4-cta" href="https://www.zend.com/services/php-long-term-support">Zend PHP LTS Details</a></p></div></div></div>
3846      
3847                            </div>
3848                        </div>
3849                    </div>
3850
3851                                            <hr class="border-p4-gray-200 border-t" />
3852                                    </div>
3853                    </div>
3854    </div>
3855                        </div>
3856                        <div class="md:w-7/12 pt-10">
3857                            <div>
3858  
3859  
3860
3861
3862
3863
3864  <div class="photoswipe-gallery field field--name-field-media-image field--type-image field--label-visually_hidden">
3865    <div class="visually-hidden">Image</div>
3866                        <a href="https://www.zend.com/sites/default/files/2025-11/image-web-znd-php-support-chart.png"  class="photoswipe" data-pswp-width="2000" data-pswp-height="1715">  <img loading="lazy" src="/sites/default/files/2025-11/image-web-znd-php-support-chart.png" width="2000" height="1715" alt="Zend PHP support chart." />
3867</a>
3868
3869                </div>
3870
3871</div>
3872
3873                        </div>
3874                    </div>
3875                </div>
3876                    </div>
3877    </div>
3878</div>
3879
3880
3881</div>
3882
3883
3884<div id="p-3655" class="compound-cards-with-icons">
3885  <div class="overflow-hidden">
3886
3887  <section x-data="cardIconCarouselData" class="max-w-container mx-auto py-12 opacity-0 transition-opacity duration-300"
3888           :class="{'opacity-0': !isReady, 'opacity-100': isReady}">
3889    <div class="px-4">
3890      <div>
3891        <!-- Title and Description Section -->
3892                    
3893  
3894<h2  class="heading text-left">
3895                Build Better PHP Applications with ZendPHP Runtimes 
3896      </h2>
3897                          <p class="text-left">ZendPHP delivers the foundation for flexible, future-proof PHP applications. Here are a few ways you can take your development to the next level. </p>
3898          
3899      </div>
3900      
3901    </div>
3902    <!-- Card Grid Section -->
3903    <div class="relative"
3904        :class="isCarouselActive && visibleCards === 3 ? 'carousel-bleed' : 'carousel-clip'">
3905
3906      <div
3907        class="flex transition-transform will-change-transform carousel-track"
3908        x-ref="carousel"
3909        @pointerdown.prevent="startDrag($event)"
3910        @pointermove.prevent="onDrag($event)"
3911        @pointerup="endDrag()"
3912        @pointercancel="endDrag()"
3913        @touchstart.prevent="startDrag($event)"
3914        @touchmove.prevent="onDrag($event)"
3915        @touchend="endDrag()"
3916        :class="{
3917          'is-dragging': isDragging,
3918          'is-animating': isAnimating
3919        }"
3920        x-effect="$refs.carousel.style.setProperty('--tx', `${translateX}px`)"
3921      >
3922                  <div
3923               class="flex-none"
3924               :class="{'w-full': visibleCards === 1, 'md:w-1/3': visibleCards === 3}"
3925               @click="onCardClick(0)"
3926          >
3927                        <div id="p-3728" class="card-component w-full p-4">
3928    <div class="card group bg-white rounded-3xl shadow-md overflow-hidden relative">
3929        
3930                <div class="card-top-section h-36 bg-zoom bg-center gradient-top-left-black-indigo">
3931        </div>
3932                                                <div class="card-image bg-white rounded-3xl absolute card-icon-position left-12 shadow-md flex items-center justify-center">
3933                    <img src="https://www.zend.com/sites/default/files/2025-05/icon-simple-headphones-customer-support-question.svg" alt="Dedicated 24/7/365 Support icon" class="w-12 h-12 rounded-3xl object-none">
3934                </div>
3935                
3936                <div class="card-content pt-12 px-8 pb-8">
3937            
3938
3939<h3  class="heading">
3940                Dedicated 24/7/365 Support
3941      </h3>
3942           <div class="card-content-text text-p4-dark text-long">
3943                <div><div class="photoswipe-gallery"><p>ZendPHP runtimes come with a support contract. This unlocks dedicated support, including two-hour technical support responses from a global team of PHP experts.</p></div></div>
3944                </div>
3945                                                                                                                                        
3946
3947
3948<a href="/products/zendphp-enterprise/trial"  class="p4-cta p4-cta--secondary">
3949      Try ZendPHP Free for 21 Days
3950  </a>
3951                    </div>
3952    </div>
3953</div>
3954          </div>
3955                  <div
3956               class="flex-none"
3957               :class="{'w-full': visibleCards === 1, 'md:w-1/3': visibleCards === 3}"
3958               @click="onCardClick(1)"
3959          >
3960                        <div id="p-3726" class="card-component w-full p-4">
3961    <div class="card group bg-white rounded-3xl shadow-md overflow-hidden relative">
3962        
3963                <div class="card-top-section h-36 bg-zoom bg-center ">
3964        </div>
3965                                                <div class="card-image bg-white rounded-3xl absolute card-icon-position left-12 shadow-md flex items-center justify-center">
3966                    <img src="https://www.zend.com/sites/default/files/2025-05/icon-simple-seo-search-graph.svg" alt="Simplified Scalability and Observability  icon" class="w-12 h-12 rounded-3xl object-none">
3967                </div>
3968                
3969                <div class="card-content pt-12 px-8 pb-8">
3970            
3971
3972<h3  class="heading">
3973                Simplified Scalability and Observability 
3974      </h3>
3975           <div class="card-content-text text-p4-dark text-long">
3976                <div><div class="photoswipe-gallery"><p>Modern PHP applications are complex. ZendHQ, an extension for ZendPHP, delivers the functionalities and tooling needed to make it easy. Monitor, inspect, optimize, and more.&nbsp;</p></div></div>
3977                </div>
3978                                                                                                                                        
3979
3980
3981<a href="/products/zendhq"  class="p4-cta p4-cta--secondary">
3982      Explore ZendHQ
3983  </a>
3984                    </div>
3985    </div>
3986</div>
3987          </div>
3988                  <div
3989               class="flex-none"
3990               :class="{'w-full': visibleCards === 1, 'md:w-1/3': visibleCards === 3}"
3991               @click="onCardClick(2)"
3992          >
3993                        <div id="p-3727" class="card-component w-full p-4">
3994    <div class="card group bg-white rounded-3xl shadow-md overflow-hidden relative">
3995        
3996                <div class="card-top-section h-36 bg-zoom bg-center gradient-top-right-black-indigo">
3997        </div>
3998                                                <div class="card-image bg-white rounded-3xl absolute card-icon-position left-12 shadow-md flex items-center justify-center">
3999                    <img src="https://www.zend.com/sites/default/files/2025-05/icon-simple-lock-unlock.svg" alt="The Benefits of PaaS — Minus the Lock-In icon" class="w-12 h-12 rounded-3xl object-none">
4000                </div>
4001                
4002                <div class="card-content pt-12 px-8 pb-8">
4003            
4004
4005<h3  class="heading">
4006                The Benefits of PaaS — Minus the Lock-In
4007      </h3>
4008           <div class="card-content-text text-p4-dark text-long">
4009                <div><div class="photoswipe-gallery"><p>Built on ZendPHP + ZendHQ, the Zend Web Platform delivers a custom-configured command center for critical apps. Deploy anywhere, modernize effortlessly, and stay compliant.&nbsp;</p></div></div>
4010                </div>
4011                                                                                                                                        
4012
4013
4014<a href="/products/enterprise-web-platform"  class="p4-cta p4-cta--secondary">
4015      Discover the Zend Web Platform
4016  </a>
4017                    </div>
4018    </div>
4019</div>
4020          </div>
4021              </div>
4022    </div>
4023    <div class="flex items-end">
4024      <!-- Navigation Arrows and Buttons for Slides -->
4025      <div x-show="isCarouselActive" class="flex justify-center items-center mr-4 mb-4 w-full">
4026        <!-- Previous Arrow Button -->
4027        <button
4028          @click="prevSlide()"
4029          :class="activeSlide <= 0 ? 'bg-p4-teal opacity-30 pointer-events-none' : 'bg-p4-teal rounded-full hover:bg-p4-cyan'"
4030          class="mr-4 rounded-full transition p-2"
4031          aria-label="Previous"
4032        >
4033          <svg xmlns="http://www.w3.org/2000/svg"
4034                class="w-3 h-3 hover:text-p4-dark transition-colors duration-300 transform rotate-180"
4035                fill="currentColor" viewBox="0 0 100 100">
4036            <polygon points="20,0 100,50 20,100"></polygon>
4037          </svg>
4038        </button>
4039
4040        <!-- Pagination Dots (one per original card) -->
4041        <div class="flex">
4042          <template x-for="i in maxSlide + 1" :key="i">
4043            <button
4044              @click="goToSlide(i - 1)"
4045              :class="currentDotIndex() === (i - 1)
4046                ? 'bg-p4-teal text-white'
4047                : 'bg-p4-dark hover:bg-p4-primary hover:text-white'"
4048              class="mx-1 w-3 h-3 rounded-full focus:outline-none transition-all duration-300"
4049              :aria-label="'Go to slide ' + i">
4050            </button>
4051          </template>
4052        </div>
4053
4054        <!-- Next Arrow Button -->
4055        <button
4056          @click="nextSlide()"
4057          :class="activeSlide >= maxSlide ? 'bg-p4-teal opacity-30 pointer-events-none' : 'bg-p4-teal rounded-full hover:bg-p4-cyan'"
4058          class="ml-4 rounded-full transition p-2"
4059          aria-label="Next"
4060        >
4061          <svg xmlns="http://www.w3.org/2000/svg"
4062                class="w-3 h-3 hover:text-p4-dark transition-colors duration-300" fill="currentColor"
4063                viewBox="0 0 100 100">
4064            <polygon points="20,0 100,50 20,100"></polygon>
4065          </svg>
4066        </button>
4067      </div>
4068    </div>
4069  </section>
4070</div>
4071</div>
4072
4073
4074<div id="p-2624" class="tabbed-accordion-with-image">
4075    
4076<div class="accordion-with-image px-8 py-[3.75rem] max-w-container mx-auto">
4077    <div class="w-full">
4078        <div class="mb-6">
4079            
4080
4081<h2  class="heading">
4082                ZendPHP Orchestration Solutions 
4083      </h2>
4084        </div>
4085        <div class="mb-2">
4086            
4087
4088<h4  class="heading">
4089                
4090      </h4>
4091        </div>
4092    </div>
4093    <div x-data="{
4094            tabItemCounts: [1,1,1],
4095            activeTab: '',
4096            activeItemId: '',
4097            getHashTab(isActiveItemId) {
4098                const accordionHash = window.location.hash.replace(/^#/, '');
4099                const paragraphId = '2624';
4100
4101                if( !accordionHash ) {
4102                    return ``;
4103                }
4104
4105                const [paramParagraphId, paramAccordTabId, paramAccordItemId] = accordionHash.split('_');
4106                const accordTabId = parseInt(paramAccordTabId, 10);
4107                let accordItemId;
4108                if( paramAccordItemId !== undefined && paramAccordItemId !== '' ) {
4109                    accordItemId = parseInt(paramAccordItemId, 10);
4110                }
4111                if (Number.isNaN(accordTabId) || accordTabId < 0 || accordTabId >= 3 
4112                    || (accordItemId !== undefined && Number.isNaN(accordItemId)) 
4113                    || (accordItemId >= this.tabItemCounts[accordTabId]) || paramParagraphId != paragraphId ) {
4114                    return ``;
4115                }
4116                return isActiveItemId && accordItemId ? paramAccordItemId : `${paramParagraphId}_${paramAccordTabId}` ;
4117            },
4118            scrollToTab(id) {
4119                const [paramParagraphId, paramAccordTabId, paramAccordItemId] = id.split('_');
4120                const paragraphId = `p-${paramParagraphId}`
4121                const el = document.getElementById(paragraphId);
4122                if (el) el.scrollIntoView({ behavior: 'smooth', block: 'start' });
4123            }
4124        }" 
4125        x-init="
4126                activeTab = getHashTab();
4127                activeItemId = getHashTab(true);
4128                if (activeItemId == activeTab) {
4129                    activeItemId = 0;
4130                }
4131                if(activeTab) {
4132                    $nextTick(() => scrollToTab(activeTab));
4133                } else {
4134                    activeTab = '2624_0'
4135                }
4136            " 
4137        @hashchange.window="
4138                activeTab = getHashTab();
4139                activeItemId = getHashTab(true);
4140                if (activeItemId == activeTab) {
4141                    activeItemId = 0;
4142                }
4143                window.location.reload();
4144            " 
4145         class="">
4146
4147        <!-- mobile tabs -->
4148        <div class="block md:hidden w-full md:p-4 mb-4">
4149            <label for="mobile-tabs" class="sr-only">Select Tab</label>
4150            <select
4151                    id="mobile-tabs"
4152                    @change="activeTab = $event.target.value"
4153                    class="w-full p-2 border rounded-3xl"
4154            >
4155                                    <option value="2624_0" :selected="activeTab == '2624_0'">
4156                        Containers
4157                    </option>
4158                                    <option value="2624_1" :selected="activeTab == '2624_1'">
4159                        Supported Architectures
4160                    </option>
4161                                    <option value="2624_2" :selected="activeTab == '2624_2'">
4162                        Application Migration
4163                    </option>
4164                            </select>
4165        </div>
4166
4167
4168        <div class="hidden md:block w-full py-4 md:mr-4">
4169            <!-- Tabs -->
4170            <ul class="pl-0 list-none flex gap-4 items-start flex-wrap">
4171                                    <li class="pl-0 list-none">
4172                        <button
4173                                id="tab-2624_0"
4174                                @click="activeTab = '2624_0'"
4175                                class="px-4 py-2 rounded-3xl leading-none hover:text-white hover:bg-p4-primary h-full  [.bg-p4-primary_&]:border-p4-cyan"
4176                                :class="{
4177                            'text-white bg-p4-primary [.bg-p4-primary_&]:bg-p4-cyan': activeTab == '2624_0',
4178                            'border border-p4-primary [.bg-p4-primary_&]:border-p4-cyan': activeTab != '2624_0'
4179                            }"
4180                        >
4181                            Containers
4182                        </button>
4183                    </li>
4184                                    <li class="pl-0 list-none">
4185                        <button
4186                                id="tab-2624_1"
4187                                @click="activeTab = '2624_1'"
4188                                class="px-4 py-2 rounded-3xl leading-none hover:text-white hover:bg-p4-primary h-full  [.bg-p4-primary_&]:border-p4-cyan"
4189                                :class="{
4190                            'text-white bg-p4-primary [.bg-p4-primary_&]:bg-p4-cyan': activeTab == '2624_1',
4191                            'border border-p4-primary [.bg-p4-primary_&]:border-p4-cyan': activeTab != '2624_1'
4192                            }"
4193                        >
4194                            Supported Architectures
4195                        </button>
4196                    </li>
4197                                    <li class="pl-0 list-none">
4198                        <button
4199                                id="tab-2624_2"
4200                                @click="activeTab = '2624_2'"
4201                                class="px-4 py-2 rounded-3xl leading-none hover:text-white hover:bg-p4-primary h-full  [.bg-p4-primary_&]:border-p4-cyan"
4202                                :class="{
4203                            'text-white bg-p4-primary [.bg-p4-primary_&]:bg-p4-cyan': activeTab == '2624_2',
4204                            'border border-p4-primary [.bg-p4-primary_&]:border-p4-cyan': activeTab != '2624_2'
4205                            }"
4206                        >
4207                            Application Migration
4208                        </button>
4209                    </li>
4210                            </ul>
4211        </div>
4212
4213        <div>
4214                            <div id="2624_0" x-show="activeTab == '2624_0'" x-cloak x-data="{ activeItem: (activeTab == '2624_0' ? `${activeTab}_${activeItemId}` : '2624_0_0') }" x-bind:data-active-item="activeItem" class="scroll-pt-6">
4215                    <div class="flex flex-col md:flex-row">
4216                        <div class="accordions w-full md:w-5/12 py-4 md:mr-4">
4217                            
4218
4219<div x-data="{
4220    accordionTabId: '2624_0',
4221  }"
4222  @set-accordion-meta.window="
4223    if (!accordionTabId && $event.detail.tabId) {
4224      accordionTabId = $event.detail.tabId;
4225    }
4226    if (!activeItem) {
4227      activeItem = $event.detail.activeItem || (accordionTabId ? `${accordionTabId}_0` : '');
4228    }
4229  "
4230  :activeItem="activeItem"
4231  :accordionTabId="accordionTabId" class=" border-t  w-full border-p4-gray-200">
4232            <div class="w-full">
4233                            <div x-data="{ copied: false }">
4234                                                                <button type="button"
4235                                class="flex w-full items-center justify-between gap-4 py-4 px-4 text-left"
4236                                @click="activeItem = activeItem === `${ accordionTabId }_0` ? -1 : `${ accordionTabId }_0`"
4237                                :class="activeItem === `${ accordionTabId }_0` ? 'expanded text-p4-primary [.text-p4-white_&]:text-p4-cyan' : 'font-medium'"
4238                                :aria-expanded="activeItem === `${ accordionTabId }_0` ? 'true' : 'false'">
4239                            <div>
4240                                <span>
4241                                    Containers
4242                                    <span x-show="activeItem === `${ accordionTabId }_0` && 1 > 1"
4243                                        x-transition:enter="transition ease-out duration-200"
4244                                        @click.stop="
4245                                            const url = new URL(window.location);
4246                                            url.hash = activeItem;
4247                                            navigator.clipboard.writeText(url.toString())
4248                                                .then(() => {
4249                                                    copied = true
4250                                                    setTimeout(() => copied = false, 2000);
4251                                                })
4252                                                .catch(() => {});
4253                                        "
4254                                        title="Copy accordion link to clipboard"    
4255                                    >
4256                                        <svg x-show="!copied" x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1" width="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M9.16488 17.6505C8.92513 17.8743 8.73958 18.0241 8.54996 18.1336C7.62175 18.6695 6.47816 18.6695 5.54996 18.1336C5.20791 17.9361 4.87912 17.6073 4.22153 16.9498C3.56394 16.2922 3.23514 15.9634 3.03767 15.6213C2.50177 14.6931 2.50177 13.5495 3.03767 12.6213C3.23514 12.2793 3.56394 11.9505 4.22153 11.2929L7.04996 8.46448C7.70755 7.80689 8.03634 7.47809 8.37838 7.28062C9.30659 6.74472 10.4502 6.74472 11.3784 7.28061C11.7204 7.47809 12.0492 7.80689 12.7068 8.46448C13.3644 9.12207 13.6932 9.45086 13.8907 9.7929C14.4266 10.7211 14.4266 11.8647 13.8907 12.7929C13.7812 12.9825 13.6314 13.1681 13.4075 13.4078M10.5919 10.5922C10.368 10.8319 10.2182 11.0175 10.1087 11.2071C9.57284 12.1353 9.57284 13.2789 10.1087 14.2071C10.3062 14.5492 10.635 14.878 11.2926 15.5355C11.9502 16.1931 12.279 16.5219 12.621 16.7194C13.5492 17.2553 14.6928 17.2553 15.621 16.7194C15.9631 16.5219 16.2919 16.1931 16.9495 15.5355L19.7779 12.7071C20.4355 12.0495 20.7643 11.7207 20.9617 11.3787C21.4976 10.4505 21.4976 9.30689 20.9617 8.37869C20.7643 8.03665 20.4355 7.70785 19.7779 7.05026C19.1203 6.39267 18.7915 6.06388 18.4495 5.8664C17.5212 5.3305 16.3777 5.3305 15.4495 5.8664C15.2598 5.97588 15.0743 6.12571 14.8345 6.34955" stroke="#4c00ff" stroke-width="2" stroke-linecap="round"></path> </g></svg>
4257                                        <span x-show="copied" class="text-xs text-p4-gray-300">
4258                                            <svg x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1 cursor-default" width="20" id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path d="M10,20C4.486,20,0,15.515,0,10S4.486,0,10,0s10,4.486,10,10-4.486,10-10,10ZM10,1.852C5.507,1.852,1.852,5.507,1.852,10s3.655,8.148,8.148,8.148,8.148-3.655,8.148-8.148S14.493,1.852,10,1.852Z" fill="#4c00ff"/><path d="M9.463,14.292l-3.563-3.563c-.343-.343-.343-.898,0-1.241s.898-.343,1.241,0l2.089,2.089,3.533-5.016c.278-.396.826-.492,1.222-.212.396.279.491.826.212,1.222l-4.733,6.721Z" fill="#4c00ff"/></svg>
4259                                            Link Copied!
4260                                        </span>
4261                                </span>
4262                                </span>
4263                            </div>
4264                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
4265                                 fill="none" stroke-width="2" stroke="currentColor"
4266                                 class="size-5 shrink-0 transition"
4267                                 :class="activeItem === `${ accordionTabId }_0` ? 'rotate-180' : ''">
4268                                <path stroke-linecap="round" stroke-linejoin="round"
4269                                      d="M19.5 8.25l-7.5 7.5-7.5-7.5"/>
4270                            </svg>
4271                        </button>
4272                    
4273                    <div class="accordion-content grid overflow-hidden transition-all duration-300"
4274                        :class="activeItem === `${ accordionTabId }_0` 
4275                            ? 'grid-rows-[1fr] opacity-100' 
4276                            : 'grid-rows-[0fr] opacity-0'"
4277                         role="region">
4278                        <div class="min-h-0">
4279                            <div class="sm:text-base text-pretty pb-6  px-4 ">
4280                                
4281
4282            <div class="text-long"><div><div class="photoswipe-gallery"><p>Receive support for both community PHP and Zend LTS editions with ZendPHP containers. The containers we build include Alpine Linux, CentOS, Debian, Ubuntu, Rocky, Alpine Linux 2, with other OS and versions available on request. All images come with variants for use with the CLI PHP-FPM, or the Apache HTTPd webserver.</p><p>We also <a href="https://help.zend.com/zendphp/current/content/orchestration/docker.htm">document a standard Dockerfile&nbsp;</a>that can be configured using Docker build arguments. This provides the ultimate in flexibility when used in conjunction with Compose, Stack, Kubernetes, or Helm.</p><p>We provide templates demonstrating setup of a session cluster using each of these technologies to help you orchestrate your own microservices or large-scale applications.</p><p>Start with a <a href="https://www.zend.com/products/zendphp-enterprise/trial">free trial</a> or <a href="http://www.zend.com/contact-us/">contact us</a>
4282 to learn about licensing options.</p></div></div></div>
4283      
4284                            </div>
4285                        </div>
4286                    </div>
4287
4288                                            <hr class="border-p4-gray-200 border-t" />
4289                                    </div>
4290                    </div>
4291    </div>
4292                        </div>
4293                        <div class="md:w-7/12 pt-10">
4294                            <div>
4295  
4296  
4297
4298
4299
4300
4301  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
4302    <div class="visually-hidden">Image</div>
4303                          <img loading="lazy" src="/sites/default/files/2025-06/image-web-znd-containers-orchestration-solutions-docker-animated.svg" alt="Docker logo with configuration icons." />
4304
4305
4306                </div>
4307
4308</div>
4309
4310                        </div>
4311                    </div>
4312                </div>
4313                            <div id="2624_1" x-show="activeTab == '2624_1'" x-cloak x-data="{ activeItem: (activeTab == '2624_1' ? `${activeTab}_${activeItemId}` : '2624_1_0') }" x-bind:data-active-item="activeItem" class="scroll-pt-6">
4314                    <div class="flex flex-col md:flex-row">
4315                        <div class="accordions w-full md:w-5/12 py-4 md:mr-4">
4316                            
4317
4318<div x-data="{
4319    accordionTabId: '2624_1',
4320  }"
4321  @set-accordion-meta.window="
4322    if (!accordionTabId && $event.detail.tabId) {
4323      accordionTabId = $event.detail.tabId;
4324    }
4325    if (!activeItem) {
4326      activeItem = $event.detail.activeItem || (accordionTabId ? `${accordionTabId}_0` : '');
4327    }
4328  "
4329  :activeItem="activeItem"
4330  :accordionTabId="accordionTabId" class=" border-t  w-full border-p4-gray-200">
4331            <div class="w-full">
4332                            <div x-data="{ copied: false }">
4333                                                                <button type="button"
4334                                class="flex w-full items-center justify-between gap-4 py-4 px-4 text-left"
4335                                @click="activeItem = activeItem === `${ accordionTabId }_0` ? -1 : `${ accordionTabId }_0`"
4336                                :class="activeItem === `${ accordionTabId }_0` ? 'expanded text-p4-primary [.text-p4-white_&]:text-p4-cyan' : 'font-medium'"
4337                                :aria-expanded="activeItem === `${ accordionTabId }_0` ? 'true' : 'false'">
4338                            <div>
4339                                <span>
4340                                    Supported Architectures
4341                                    <span x-show="activeItem === `${ accordionTabId }_0` && 1 > 1"
4342                                        x-transition:enter="transition ease-out duration-200"
4343                                        @click.stop="
4344                                            const url = new URL(window.location);
4345                                            url.hash = activeItem;
4346                                            navigator.clipboard.writeText(url.toString())
4347                                                .then(() => {
4348                                                    copied = true
4349                                                    setTimeout(() => copied = false, 2000);
4350                                                })
4351                                                .catch(() => {});
4352                                        "
4353                                        title="Copy accordion link to clipboard"    
4354                                    >
4355                                        <svg x-show="!copied" x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1" width="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M9.16488 17.6505C8.92513 17.8743 8.73958 18.0241 8.54996 18.1336C7.62175 18.6695 6.47816 18.6695 5.54996 18.1336C5.20791 17.9361 4.87912 17.6073 4.22153 16.9498C3.56394 16.2922 3.23514 15.9634 3.03767 15.6213C2.50177 14.6931 2.50177 13.5495 3.03767 12.6213C3.23514 12.2793 3.56394 11.9505 4.22153 11.2929L7.04996 8.46448C7.70755 7.80689 8.03634 7.47809 8.37838 7.28062C9.30659 6.74472 10.4502 6.74472 11.3784 7.28061C11.7204 7.47809 12.0492 7.80689 12.7068 8.46448C13.3644 9.12207 13.6932 9.45086 13.8907 9.7929C14.4266 10.7211 14.4266 11.8647 13.8907 12.7929C13.7812 12.9825 13.6314 13.1681 13.4075 13.4078M10.5919 10.5922C10.368 10.8319 10.2182 11.0175 10.1087 11.2071C9.57284 12.1353 9.57284 13.2789 10.1087 14.2071C10.3062 14.5492 10.635 14.878 11.2926 15.5355C11.9502 16.1931 12.279 16.5219 12.621 16.7194C13.5492 17.2553 14.6928 17.2553 15.621 16.7194C15.9631 16.5219 16.2919 16.1931 16.9495 15.5355L19.7779 12.7071C20.4355 12.0495 20.7643 11.7207 20.9617 11.3787C21.4976 10.4505 21.4976 9.30689 20.9617 8.37869C20.7643 8.03665 20.4355 7.70785 19.7779 7.05026C19.1203 6.39267 18.7915 6.06388 18.4495 5.8664C1
43557.5212 5.3305 16.3777 5.3305 15.4495 5.8664C15.2598 5.97588 15.0743 6.12571 14.8345 6.34955" stroke="#4c00ff" stroke-width="2" stroke-linecap="round"></path> </g></svg>
4356                                        <span x-show="copied" class="text-xs text-p4-gray-300">
4357                                            <svg x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1 cursor-default" width="20" id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path d="M10,20C4.486,20,0,15.515,0,10S4.486,0,10,0s10,4.486,10,10-4.486,10-10,10ZM10,1.852C5.507,1.852,1.852,5.507,1.852,10s3.655,8.148,8.148,8.148,8.148-3.655,8.148-8.148S14.493,1.852,10,1.852Z" fill="#4c00ff"/><path d="M9.463,14.292l-3.563-3.563c-.343-.343-.343-.898,0-1.241s.898-.343,1.241,0l2.089,2.089,3.533-5.016c.278-.396.826-.492,1.222-.212.396.279.491.826.212,1.222l-4.733,6.721Z" fill="#4c00ff"/></svg>
4358                                            Link Copied!
4359                                        </span>
4360                                </span>
4361                                </span>
4362                            </div>
4363                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
4364                                 fill="none" stroke-width="2" stroke="currentColor"
4365                                 class="size-5 shrink-0 transition"
4366                                 :class="activeItem === `${ accordionTabId }_0` ? 'rotate-180' : ''">
4367                                <path stroke-linecap="round" stroke-linejoin="round"
4368                                      d="M19.5 8.25l-7.5 7.5-7.5-7.5"/>
4369                            </svg>
4370                        </button>
4371                    
4372                    <div class="accordion-content grid overflow-hidden transition-all duration-300"
4373                        :class="activeItem === `${ accordionTabId }_0` 
4374                            ? 'grid-rows-[1fr] opacity-100' 
4375                            : 'grid-rows-[0fr] opacity-0'"
4376                         role="region">
4377                        <div class="min-h-0">
4378                            <div class="sm:text-base text-pretty pb-6  px-4 ">
4379                                
4380
4381            <div class="text-long"><div><div class="photoswipe-gallery"><p>To add more freedom and potential cost savings when deploying PHP, ZendPHP supports both ARM and x86 processor architectures.</p><p>ZendPHP ARM support is provided in several ways:</p><ul><li>ARM-specific packages for each supported operating system</li><li>ARM-specific container images for use with Docker, Podman, Kubernetes, etc.</li></ul><p>Click the button below for the full list of supported platforms and PHP versions.</p><p><a class="p4-cta" href="https://help.zend.com/zendphp/current/content/introduction/supported_platforms.htm">Full ZendPHP Documentation</a></p></div></div></div>
4382      
4383                            </div>
4384                        </div>
4385                    </div>
4386
4387                                            <hr class="border-p4-gray-200 border-t" />
4388                                    </div>
4389                    </div>
4390    </div>
4391                        </div>
4392                        <div class="md:w-7/12 pt-10">
4393                            <div>
4394  
4395  
4396
4397
4398
4399
4400  <div class="field field--name-field-media-image field--type-image field--label-visually_hidden">
4401    <div class="visually-hidden">Image</div>
4402                          <img loading="lazy" src="/sites/default/files/2025-06/image-web-znd-php-security-audit-illustration-animated.svg" alt="PHP security illustration." />
4403
4404
4405                </div>
4406
4407</div>
4408
4409                        </div>
4410                    </div>
4411                </div>
4412                            <div id="2624_2" x-show="activeTab == '2624_2'" x-cloak x-data="{ activeItem: (activeTab == '2624_2' ? `${activeTab}_${activeItemId}` : '2624_2_0') }" x-bind:data-active-item="activeItem" class="scroll-pt-6">
4413                    <div class="flex flex-col md:flex-row">
4414                        <div class="accordions w-full md:w-5/12 py-4 md:mr-4">
4415                            
4416
4417<div x-data="{
4418    accordionTabId: '2624_2',
4419  }"
4420  @set-accordion-meta.window="
4421    if (!accordionTabId && $event.detail.tabId) {
4422      accordionTabId = $event.detail.tabId;
4423    }
4424    if (!activeItem) {
4425      activeItem = $event.detail.activeItem || (accordionTabId ? `${accordionTabId}_0` : '');
4426    }
4427  "
4428  :activeItem="activeItem"
4429  :accordionTabId="accordionTabId" class=" border-t  w-full border-p4-gray-200">
4430            <div class="w-full">
4431                            <div x-data="{ copied: false }">
4432                                                                <button type="button"
4433                                class="flex w-full items-center justify-between gap-4 py-4 px-4 text-left"
4434                                @click="activeItem = activeItem === `${ accordionTabId }_0` ? -1 : `${ accordionTabId }_0`"
4435                                :class="activeItem === `${ accordionTabId }_0` ? 'expanded text-p4-primary [.text-p4-white_&]:text-p4-cyan' : 'font-medium'"
4436                                :aria-expanded="activeItem === `${ accordionTabId }_0` ? 'true' : 'false'">
4437                            <div>
4438                                <span>
4439                                    Application Migration
4440                                    <span x-show="activeItem === `${ accordionTabId }_0` && 1 > 1"
4441                                        x-transition:enter="transition ease-out duration-200"
4442                                        @click.stop="
4443                                            const url = new URL(window.location);
4444                                            url.hash = activeItem;
4445                                            navigator.clipboard.writeText(url.toString())
4446                                                .then(() => {
4447                                                    copied = true
4448                                                    setTimeout(() => copied = false, 2000);
4449                                                })
4450                                                .catch(() => {});
4451                                        "
4452                                        title="Copy accordion link to clipboard"    
4453                                    >
4454                                        <svg x-show="!copied" x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1" width="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M9.16488 17.6505C8.92513 17.8743 8.73958 18.0241 8.54996 18.1336C7.62175 18.6695 6.47816 18.6695 5.54996 18.1336C5.20791 17.9361 4.87912 17.6073 4.22153 16.9498C3.56394 16.2922 3.23514 15.9634 3.03767 15.6213C2.50177 14.6931 2.50177 13.5495 3.03767 12.6213C3.23514 12.2793 3.56394 11.9505 4.22153 11.2929L7.04996 8.46448C7.70755 7.80689 8.03634 7.47809 8.37838 7.28062C9.30659 6.74472 10.4502 6.74472 11.3784 7.28061C11.7204 7.47809 12.0492 7.80689 12.7068 8.46448C13.3644 9.12207 13.6932 9.45086 13.8907 9.7929C14.4266 10.7211 14.4266 11.8647 13.8907 12.7929C13.7812 12.9825 13.6314 13.1681 13.4075 13.4078M10.5919 10.5922C10.368 10.8319 10.2182 11.0175 10.1087 11.2071C9.57284 12.1353 9.57284 13.2789 10.1087 14.2071C10.3062 14.5492 10.635 14.878 11.2926 15.5355C11.9502 16.1931 12.279 16.5219 12.621 16.7194C13.5492 17.2553 14.6928 17.2553 15.621 16.7194C15.9631 16.5219 16.2919 16.1931 16.9495 15.5355L19.7779 12.7071C20.4355 12.0495 20.7643 11.7207 20.9617 11.3787C21.4976 10.4505 21.4976 9.30689 20.9617 8.37869C20.7643 8.03665 20.4355 7.70785 19.7779 7.05026C19.1203 6.39267 18.7915 6.06388 18.4495 5.8664C17.5212 5.3305 16.3777 5.3305 15.4495 5.8664C15.2598 5.97588 15.0743 6.12571 14.8345 6.34955" stroke="#4c00ff" stroke-width="2" stroke-linecap="round"></path> </g></svg>
4455                                        <span x-show="copied" class="text-xs text-p4-gray-300">
4456                                            <svg x-transition:enter="transition ease-out duration-200" class="accordion-link mt-1 ml-1 cursor-default" width="20" id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20"><path d="M10,20C4.486,20,0,15.515,0,10S4.486,0,10,0s10,4.486,10,10-4.486,10-10,10ZM10,1.852C5.507,1.852,1.852,5.507,1.852,10s3.655,8.148,8.148,8.148,8.148-3.655,8.148-8.148S14.493,1.852,10,1.852Z" fill="#4c00ff"/><path d="M9.463,14.292l-3.563-3.563c-.343-.343-.343-.898,0-1.241s.898-.343,1.241,0l2.089,2.089,3.533-5.016c.278-.396.826-.492,1.222-.212.396.279.491.826.212,1.222l-4.733,6.721Z" fill="#4c00ff"/></svg>
4457                                            Link Copied!
4458                                        </span>
4459                                </span>
4460                                </span>
4461                            </div>
4462                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
4463                                 fill="none" stroke-width="2" stroke="currentColor"
4464                                 class="size-5 shrink-0 transition"
4465                                 :class="activeItem === `${ accordionTabId }_0` ? 'rotate-180' : ''">
4466                                <path stroke-linecap="round" stroke-linejoin="round"
4467                                      d="M19.5 8.25l-7.5 7.5-7.5-7.5"/>
4468                            </svg>
4469                        </button>
4470                    
4471                    <div class="accordion-content grid overflow-hidden transition-all duration-300"
4472                        :class="activeItem === `${ accordionTabId }_0` 
4473                            ? 'grid-rows-[1fr] opacity-100' 
4474                            : 'grid-rows-[0fr] opacity-0'"
4475                         role="region">
4476                        <div class="min-h-0">
4477                            <div class="sm:text-base text-pretty pb-6  px-4 ">
4478                                
4479
4480            <div class="text-long"><div><div class="photoswipe-gallery"><p>Zend Server reaches EOL in December 2027. To help you migrate to ZendPHP, we provide Ansible tooling to configure ZendPHP and match your existing installation.&nbsp;</p><p>Using our turnkey solution, you can provision ZendPHP and deploy your apps using existing Zend Server deployment packages (ZPKs). Follow a few easy steps to install and execute. Our playbook will take care of the rest, configuring ZendPHP across multiple targets in a single deployment.&nbsp;</p><p><a class="p4-cta" href="https://help.zend.com/zendphp/current/content/orchestration/ansible.htm">View Playbook Documentation</a>&nbsp; <a class="p4-cta p4-cta--secondary" href="https://www.zend.com/solutions/migrating-from-zend-server-to-zendphp">Zend Server Migration Options</a></p></div></div></div>
4481      
4482                            </div>
4483                        </div>
4484                    </div>
4485
4486                                            <hr class="border-p4-gray-200 border-t" />
4487                                    </div>
4488                    </div>
4489    </div>
4490                        </div>
4491                        <div class="md:w-7/12 pt-10">
4492                            <div>
4493  
4494  
4495                          
4495<script src="https://fast.wistia.com/embed/of1ge7f1oo.js" async type="module"></script>
4495
4496        
4497        <style>
4498          wistia-player[media-id='of1ge7f1oo']:not(:defined) { 
4499            background: center / contain no-repeat url('https://fast.wistia.com/embed/medias/of1ge7f1oo/swatch'); 
4500            display: block; 
4501            filter: blur(5px); 
4502          }
4503        </style>
4504
4505        <div class="field field--name-field-wistia-video field--type-video-embed-field field--label-hidden field__item">
4506          <wistia-player media-id="of1ge7f1oo" seo="false" class="wistia_embed"></wistia-player>
4507        </div>
4508            
4509</div>
4510
4511                        </div>
4512                    </div>
4513                </div>
4514                    </div>
4515    </div>
4516</div>
4517
4518
4519</div>
4520
4521    </div>
4522    </div>
4523
4524</div>
4525</div>
4526              <div>
4527
4528<div id="p-3660" class="compound-cards-with-icons">
4529  <div class="overflow-hidden">
4530
4531  <section x-data="cardIconCarouselData" class="max-w-container mx-auto py-12 opacity-0 transition-opacity duration-300"
4532           :class="{'opacity-0': !isReady, 'opacity-100': isReady}">
4533    <div class="px-4">
4534      <div>
4535        <!-- Title and Description Section -->
4536                    
4537  
4538<h2  class="heading text-left">
4539                Why Choose Zend for PHP Runtimes? 
4540      </h2>
4541                          <p class="text-left">Keeping PHP applications current and secure sounds great in theory. In practice, it means spending time and money refactoring your codebase for upgrades, and less time developing new features to drive your business. That&#039;s where PHP runtimes from Zend come in. </p>
4542          
4543      </div>
4544      
4545    </div>
4546    <!-- Card Grid Section -->
4547    <div class="relative"
4548        :class="isCarouselActive && visibleCards === 3 ? 'carousel-bleed' : 'carousel-clip'">
4549
4550      <div
4551        class="flex transition-transform will-change-transform carousel-track"
4552        x-ref="carousel"
4553        @pointerdown.prevent="startDrag($event)"
4554        @pointermove.prevent="onDrag($event)"
4555        @pointerup="endDrag()"
4556        @pointercancel="endDrag()"
4557        @touchstart.prevent="startDrag($event)"
4558        @touchmove.prevent="onDrag($event)"
4559        @touchend="endDrag()"
4560        :class="{
4561          'is-dragging': isDragging,
4562          'is-animating': isAnimating
4563        }"
4564        x-effect="$refs.carousel.style.setProperty('--tx', `${translateX}px`)"
4565      >
4566                  <div
4567               class="flex-none"
4568               :class="{'w-full': visibleCards === 1, 'md:w-1/3': visibleCards === 3}"
4569               @click="onCardClick(0)"
4570          >
4571                        <div id="p-3656" class="card-component w-full p-4">
4572    <div class="card group bg-white rounded-3xl shadow-md overflow-hidden relative">
4573        
4574                <div class="card-top-section h-36 bg-zoom bg-center ">
4575        </div>
4576                                                <div class="card-image bg-white rounded-3xl absolute card-icon-position left-12 shadow-md flex items-center justify-center">
4577                    <img src="https://www.zend.com/sites/default/files/2025-05/icon-simple-calendar.svg" alt="Upgrade on Your Schedule  icon" class="w-12 h-12 rounded-3xl object-none">
4578                </div>
4579                
4580                <div class="card-content pt-12 px-8 pb-8">
4581            
4582
4583<h3  class="heading">
4584                Upgrade on Your Schedule 
4585      </h3>
4586           <div class="card-content-text text-p4-dark text-long">
4587                <div><div class="photoswipe-gallery"><p>Get the benefit of support even when your PHP version is no longer community supported. With ZendPHP runtimes, your team can update on your schedule and not the community release cadence.&nbsp;</p></div></div>
4588                </div>
4589                    </div>
4590    </div>
4591</div>
4592          </div>
4593                  <div
4594               class="flex-none"
4595               :class="{'w-full': visibleCards === 1, 'md:w-1/3': visibleCards === 3}"
4596               @click="onCardClick(1)"
4597          >
4598                        <div id="p-3657" class="card-component w-full p-4">
4599    <div class="card group bg-white rounded-3xl shadow-md overflow-hidden relative">
4600        
4601                <div class="card-top-section h-36 bg-zoom bg-center ">
4602        </div>
4603                                                <div class="card-image bg-white rounded-3xl absolute card-icon-position left-12 shadow-md flex items-center justify-center">
4604                    <img src="https://www.zend.com/sites/default/files/2025-05/icon-simple-gauge-dashboard.svg" alt="Get PHP Versions Faster  icon" class="w-12 h-12 rounded-3xl object-none">
4605                </div>
4606                
4607                <div class="card-content pt-12 px-8 pb-8">
4608            
4609
4610<h3  class="heading">
4611                Get PHP Versions Faster 
4612      </h3>
4613           <div class="card-content-text text-p4-dark text-long">
4614                <div><div class="photoswipe-gallery"><p>ZendPHP ships new major and minor versions of PHP within two weeks of community release. Get independence from OS release cadences, and the freedom to install multiple versions of PHP on the same machine.&nbsp;</p></div></div>
4615                </div>
4616                    </div>
4617    </div>
4618</div>
4619          </div>
4620                  <div
4621               class="flex-none"
4622               :class="{'w-full': visibleCards === 1, 'md:w-1/3': visibleCards === 3}"
4623               @click="onCardClick(2)"
4624          >
4625                        <div id="p-3658" class="card-component w-full p-4">
4626    <div class="card group bg-white rounded-3xl shadow-md overflow-hidden relative">
4627        
4628                <div class="card-top-section h-36 bg-zoom bg-center ">
4629        </div>
4630                                                <div class="card-image bg-white rounded-3xl absolute card-icon-position left-12 shadow-md flex items-center justify-center">
4631                    <img src="https://www.zend.com/sites/default/files/2025-05/icon-simple-check-badge.svg" alt="Maintain Compliance Standards  icon" class="w-12 h-12 rounded-3xl object-none">
4632                </div>
4633                
4634                <div class="card-content pt-12 px-8 pb-8">
4635            
4636
4637<h3  class="heading">
4638                Maintain Compliance Standards 
4639      </h3>
4640           <div class="card-content-text text-p4-dark text-long">
4641                <div><div class="photoswipe-gallery"><p>Keeping up with compliance standards like SOX, PCI, or HIPAA can take up a lot of time for development teams. With Zend PHP runtimes and LTS, you enjoy secure and compliant PHP runtimes without the costs.&nbsp;</p></div></div>
4642                </div>
4643                    </div>
4644    </div>
4645</div>
4646          </div>
4647                  <div
4648               class="flex-none"
4649               :class="{'w-full': visibleCards === 1, 'md:w-1/3': visibleCards === 3}"
4650               @click="onCardClick(3)"
4651          >
4652                        <div id="p-3659" class="card-component w-full p-4">
4653    <div class="card group bg-white rounded-3xl shadow-md overflow-hidden relative">
4654        
4655                <div class="card-top-section h-36 bg-zoom bg-center ">
4656        </div>
4657                                                <div class="card-image bg-white rounded-3xl absolute card-icon-position left-12 shadow-md flex items-center justify-center">
4658                    <img src="https://www.zend.com/sites/default/files/2025-05/icon-simple-performance-increase.svg" alt="Provision and Deploy at Scale  icon" class="w-12 h-12 rounded-3xl object-none">
4659                </div>
4660                
4661                <div class="card-content pt-12 px-8 pb-8">
4662            
4663
4664<h3  class="heading">
4665                Provision and Deploy at Scale 
4666      </h3>
4667           <div class="card-content-text text-p4-dark text-long">
4668                <div><div class="photoswipe-gallery"><p>Provision ZendPHP and consistently deploy at scale using existing processes with our ZendPHP Ansible Playbook. Our tooling makes your transition quick, easy, and stress-free.&nbsp;</p></div></div>
4669                </div>
4670                    </div>
4671    </div>
4672</div>
4673          </div>
4674              </div>
4675    </div>
4676    <div class="flex items-end">
4677      <!-- Navigation Arrows and Buttons for Slides -->
4678      <div x-show="isCarouselActive" class="flex justify-center items-center mr-4 mb-4 w-full">
4679        <!-- Previous Arrow Button -->
4680        <button
4681          @click="prevSlide()"
4682          :class="activeSlide <= 0 ? 'bg-p4-teal opacity-30 pointer-events-none' : 'bg-p4-teal rounded-full hover:bg-p4-cyan'"
4683          class="mr-4 rounded-full transition p-2"
4684          aria-label="Previous"
4685        >
4686          <svg xmlns="http://www.w3.org/2000/svg"
4687                class="w-3 h-3 hover:text-p4-dark transition-colors duration-300 transform rotate-180"
4688                fill="currentColor" viewBox="0 0 100 100">
4689            <polygon points="20,0 100,50 20,100"></polygon>
4690          </svg>
4691        </button>
4692
4693        <!-- Pagination Dots (one per original card) -->
4694        <div class="flex">
4695          <template x-for="i in maxSlide + 1" :key="i">
4696            <button
4697              @click="goToSlide(i - 1)"
4698              :class="currentDotIndex() === (i - 1)
4699                ? 'bg-p4-teal text-white'
4700                : 'bg-p4-dark hover:bg-p4-primary hover:text-white'"
4701              class="mx-1 w-3 h-3 rounded-full focus:outline-none transition-all duration-300"
4702              :aria-label="'Go to slide ' + i">
4703            </button>
4704          </template>
4705        </div>
4706
4707        <!-- Next Arrow Button -->
4708        <button
4709          @click="nextSlide()"
4710          :class="activeSlide >= maxSlide ? 'bg-p4-teal opacity-30 pointer-events-none' : 'bg-p4-teal rounded-full hover:bg-p4-cyan'"
4711          class="ml-4 rounded-full transition p-2"
4712          aria-label="Next"
4713        >
4714          <svg xmlns="http://www.w3.org/2000/svg"
4715                class="w-3 h-3 hover:text-p4-dark transition-colors duration-300" fill="currentColor"
4716                viewBox="0 0 100 100">
4717            <polygon points="20,0 100,50 20,100"></polygon>
4718          </svg>
4719        </button>
4720      </div>
4721    </div>
4722  </section>
4723</div>
4724</div>
4725</div>
4726              <div>
4727
4728<div class="gradient-radial-bottom-black-indigo text-p4-white paragraph--type--section paragraph--view-mode--default" id="p-2125">
4729  
4730<div  class="layout layout--three-column-50-25-25">
4731  <div  class="grid grid-cols-1 md:grid-cols-[2fr_1fr_1fr] gap-4 max-w-container mx-auto">
4732        <div  class="layout__region layout__region--col1">
4733      
4734
4735<div id="p-2126" class="rich-text p-4">
4736    
4737
4738            <div class="text-long"><div><div class="toc-filter"><div class="photoswipe-gallery"><a href="#top" class="back-to-top">Back to top</a>
4739
4740<h2 id="try-zendphp-zendhq-free-for-21-days">Try ZendPHP + ZendHQ Free for 21 Days</h2><p>Try our PHP runtimes alongside ZendHQ observability tooling free for 21 days – no commitment required.&nbsp;</p><p><a class="p4-cta p4-cta--white" href="https://www.zend.com/products/zendphp-enterprise/trial">Free Trial</a></p></div><a href="#top" class="back-to-top">Back to top</a></div></div></div>
4741      
4742</div>
4743
4744    </div>
4745            <div  class="layout__region layout__region--col2">
4746      
4747
4748<div id="p-2127" class="rich-text p-4">
4749    
4750
4751            <div class="text-long"><div><div class="photoswipe-gallery"><h3>Get PHP Long Term Support&nbsp;</h3><p>Get long-term support beyond the community EOL for PHP 7.2, 7.3, 7.4, and 8.1 from Zend.&nbsp;</p><p><a class="p4-cta" href="https://www.zend.com/services/php-long-term-support">See LTS Options</a></p></div></div></div>
4752      
4753</div>
4754
4755    </div>
4756            <div  class="layout__region layout__region--col3">
4757      
4758
4759<div id="p-2128" class="rich-text p-4">
4760    
4761
4762            <div class="text-long"><div><div class="photoswipe-gallery"><h3>Have Questions?</h3><p>Talk with one of our PHP experts today about your specific infrastructure.&nbsp;</p><p><a class="p4-cta" href="https://www.zend.com/contact-us">Contact Us</a></p></div></div></div>
4763      
4764</div>
4765
4766    </div>
4767      </div>
4768</div>
4769
4770</div>
4771</div>
4772          </div>
4773  
4774  </div>
4775
4776</article>
4777
4778
4779  </div>
4780
4781  </div>
4782
4783      </main>
4784
4785            
4786<footer  class="footer footer-- min-h-72">
4787  <div  class="footer__inner">
4788    <!-- Footer Menu Section -->
4789    <div  class="footer__menu border-b border-p4-dark max-w-container mx-auto py-8">
4790        <nav role="navigation" aria-labelledby="block-p4base-footer-menu" id="block-p4base-footer">
4791            
4792  <h2 class="visually-hidden" id="block-p4base-footer-menu">Footer</h2>
4793  
4794
4795        
4796  <div class="footer-menu">
4797<div class="mx-auto px-4 sm:px-6 grid grid-cols-1 sm:grid-cols-3 lg:grid-cols-5 gap-6">
4798      <div class="footer-menu__section">
4799            <div class="footer-menu__section-title text-sm mb-4">Solutions</div>
4800                    <ul class="!pl-0 space-y-2">
4801                      <li class="list-none !pl-0"><a href="/solutions/cloud" class="footer-menu__link text-p4-dark">PHP Cloud Solutions</a></li>
4802                      <li class="list-none !pl-0"><a href="/solutions/containers" class="footer-menu__link text-p4-dark">PHP Container Solutions</a></li>
4803                      <li class="list-none !pl-0"><a href="/solutions/php-windows" class="footer-menu__link text-p4-dark">Windows Solutions</a></li>
4804                      <li class="list-none !pl-0"><a href="/php-security-center" class="footer-menu__link text-p4-dark">PHP Security Center</a></li>
4805                      <li class="list-none !pl-0"><a href="/solutions/security" class="footer-menu__link text-p4-dark">PHP Security Solutions</a></li>
4806                      <li class="list-none !pl-0"><a href="/solutions/php-hosting-providers" class="footer-menu__link text-p4-dark">Hosting Provider Solutions</a></li>
4807                  </ul>
4808          </div>
4809      <div class="footer-menu__section">
4810            <div class="footer-menu__section-title text-sm mb-4">Products</div>
4811                    <ul class="!pl-0 space-y-2">
4812                      <li class="list-none !pl-0"><a href="/products/zendphp-enterprise" class="footer-menu__link text-p4-d
4812ark">ZendPHP</a></li>
4813                      <li class="list-none !pl-0"><a href="/services/php-long-term-support" class="footer-menu__link text-p4-dark">Zend LTS</a></li>
4814                      <li class="list-none !pl-0"><a href="/products/zendhq" class="footer-menu__link text-p4-dark">ZendHQ</a></li>
4815                      <li class="list-none !pl-0"><a href="/products/enterprise-web-platform" class="footer-menu__link text-p4-dark">Zend Enterprise Web Platform</a></li>
4816                  </ul>
4817          </div>
4818      <div class="footer-menu__section">
4819            <div class="footer-menu__section-title text-sm mb-4">Support</div>
4820                    <ul class="!pl-0 space-y-2">
4821                      <li class="list-none !pl-0"><a href="/support" class="footer-menu__link text-p4-dark">Explore Support</a></li>
4822                      <li class="list-none !pl-0"><a href="https://help.zend.com/" class="footer-menu__link text-p4-dark">Documentation</a></li>
4823                      <li class="list-none !pl-0"><a href="/downloads" class="footer-menu__link text-p4-dark">Download Software</a></li>
4824                      <li class="list-none !pl-0"><a href="/plugins" class="footer-menu__link text-p4-dark">Download Plugins</a></li>
4825                      <li class="list-none !pl-0"><a href="https://portal.perforce.com/s/topic/0TO5Y00000ByxvrWAB/zend" class="footer-menu__link text-p4-dark">Request Support</a></li>
4826                      <li class="list-none !pl-0"><a href="/pricing" class="footer-menu__link text-p4-dark">Request Pricing</a></li>
4827                  </ul>
4828          </div>
4829      <div class="footer-menu__section">
4830            <div class="footer-menu__section-title text-sm mb-4">Services</div>
4831                    <ul class="!pl-0 space-y-2">
4832                      <li class="list-none !pl-0"><a href="/services" class="footer-menu__link text-p4-dark">Explore Services</a></li>
4833                      <li class="list-none !pl-0"><a href="/services/black-belt-php-support-services" class="footer-menu__link text-p4-dark">Black Belt Services</a></li>
4834                      <li class="list-none !pl-0"><a href="/services/migration" class="footer-menu__link text-p4-dark">Migrations Services</a></li>
4835                      <li class="list-none !pl-0"><a href="/services/custom-consulting" class="footer-menu__link text-p4-dark">Custom Consulting</a></li>
4836                      <li class="list-none !pl-0"><a href="/services/admin-as-a-service" class="footer-menu__link text-p4-dark">Admin as a Service</a></li>
4837                      <li class="list-none !pl-0"><a href="/services/php-long-term-support" class="footer-menu__link text-p4-dark">PHP Long-Term Support</a></li>
4838                      <li class="list-none !pl-0"><a href="/services/performance-auditing" class="footer-menu__link text-p4-dark">Audits</a></li>
4839                      <li class="list-none !pl-0"><a href="/training/php" class="footer-menu__link text-p4-dark">Trainings</a></li>
4840                      <li class="list-none !pl-0"><a href="/training/php-certification-exam" class="footer-menu__link text-p4-dark">Certifications</a></li>
4841                  </ul>
4842          </div>
4843      <div class="footer-menu__section">
4844            <div class="footer-menu__section-title text-sm mb-4">Resources</div>
4845                    <ul class="!pl-0 space-y-2">
4846                      <li class="list-none !pl-0"><a href="/resources/ebooks-papers" class="footer-menu__link text-p4-dark">eBooks &amp; Papers</a></li>
4847                      <li class="list-none !pl-0"><a href="/resources/webinars" class="footer-menu__link text-p4-dark">Webinars</a></li>
4848                      <li class="list-none !pl-0"><a href="/resources/videos" class="footer-menu__link text-p4-dark">Videos</a></li>
4849                      <li class="list-none !pl-0"><a href="/blog" class="footer-menu__link text-p4-dark">Blog</a></li>
4850                      <li class="list-none !pl-0"><a href="/customers" class="footer-menu__link text-p4-dark">Customers</a></li>
4851                      <li class="list-none !pl-0">
4851<a href="/resources" class="footer-menu__link text-p4-dark">All Resources</a></li>
4852                  </ul>
4853          </div>
4854    </div>
4855</div>
4856
4857
4858  </nav>
4859
4860    </div>
4861
4862<!-- Branding and Social Media Section -->
4863<div  class="footer__branding_social max-w-container mx-auto py-6 flex items-center justify-between lg:flex-row flex-col">
4864  <!-- Branding Section -->
4865  <div  class="footer__branding max-w-[275px] flex-shrink-0">
4866    
4867
4868
4869<div  class="logo">
4870  
4871<a
4872   class="logo__link"
4873    href="/"
4874>
4875        
4876
4877  
4878<img
4879   class="logo__image"
4880      src="/themes/custom/p4base/assets/images/logo.svg"
4881  alt="Logo"
4882  />
4883    </a>
4884</div>
4885    <div class="mt-4 text-xs">
4886      &copy; 2026 Perforce Software Inc. All Rights Reserved.
4887    </div>
4888    <div class="mt-2 text-xs text-center lg:text-left">
4889      <a href="https://www.perforce.com/privacy-policy">Privacy Policy</a> | 
4890      <a href="https://www.perforce.com/website-terms-use">Terms of Use</a> |
4891      <a href="https://www.perforce.com/legal">Legal</a><br/>
4892      <a href="https://trust.perforce.com/">Trust Center</a> |
4893      <a id="ot-sdk-btn" class="ot-sdk-show-settings"> Cookie Manager</a><br/>
4894      <a href="https://preferences.perforce.com/form/opt_out">Do Not Sell or Share My Personal Information</a>
4895    </div>
4896  </div>
4897
4898  <!-- Social Menu Section -->
4899  <div  class="footer__social flex-shrink-0 lg:flex-row flex-col">
4900      <div class="social-menu">
4901        <ul class="social-menu__list flex !pl-0 [&>li]:!px-4 mt-4">
4902          </ul>
4903  </div>
4904  </div>
4905</div>
4906
4907  </div>
4908</footer>
4909      </div>
4910
4911  </div>
4912
4913    
4914    
4914<script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"node\/454","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"data":{"extlink":{"extTarget":true,"extTargetAppendNewWindowDisplay":true,"extTargetAppendNewWindowLabel":"(opens in a new window)","extTargetNoOverride":true,"extNofollow":false,"extTitleNoOverride":false,"extNoreferrer":false,"extFollowNoOverride":false,"extClass":"0","extLabel":"(link is external)","extImgClass":false,"extSubdomains":true,"extExclude":"","extInclude":"\\.pdf$","extCssExclude":"","extCssInclude":"","extCssExplicit":"","extAlert":false,"extAlertText":"This link will take you to an external web site. We are not responsible for their content.","extHideIcons":false,"mailtoClass":"0","telClass":"0","mailtoLabel":"(link sends email)","telLabel":"(link is a phone number)","extUseFontAwesome":false,"extIconPlacement":"before","extPreventOrphan":true,"extFaLinkClasses":"fa fa-external-link","extFaMailtoClasses":"fa fa-envelope-o","extAdditionalLinkClasses":"","extAdditionalMailtoClasses":"","extAdditionalTelClasses":"","extFaTelClasses":"fa fa-phone","allowedDomains":[],"extExcludeNoreferrer":""}},"photoswipe":{"options":{"showHideAnimationType":"zoom","showAnimationDuration":333,"hideAnimationDuration":333,"zoomAnimationDuration":333,"maxWidthToAnimate":4000,"easing":"cubic-bezier(.4,0,.22,1)","bgOpacity":0.8,"spacing":0.1,"initialZoomLevel":"fit","secondaryZoomLevel":"2.5","maxZoomLevel":"4","allowPanToNext":true,"loop":true,"wheelToZoom":false,"pinchToClose":true,"clickToCloseNonZoomable":true,"closeOnVerticalDrag":true,"trapFocus":true,"returnFocus":true,"escKey":true,"arrowKeys":true,"imageClickAction":"zoom-or-close","tapAction":"toggle-controls","doubleTapAction":"zoom","bgClickAction":"close","closeTitle":"Close","zoomTitle":"Zoom","arrowPrevTitle":"Previous","arrowNextTitle":"Next","downloadTitle":"Download","indexIndicatorSep":" \/ ","errorMsg":"The image could not be loaded.","preload":[1,2],"preloaderDelay":2000,"mainClass":""},"selector":"a.photoswipe:not(.no-lightbox) \u003E img"},"sitewideAlert":{"refreshInterval":2592000000,"automaticRefresh":false,"showCount":false,"serverSideRender":false},"csp":{"nonce":"8UBK3HsGxXcQDrZc2FlvwA"},"ajaxTrustedUrl":{"\/search":true},"user":{"uid":0,"permissionsHash":"3da632da63915b4d5469fa45c012fa51dcbe16dc452ff1c9582070a0f159923d"}}</script>
vendor: 1 bytes, line 4914
4914
4915<script src="/core/assets/vendor/jquery/jquery.min.js?v=4.0.0"></script>
vendor: 1 bytes, line 4915
4915
4916<script src="/sites/default/files/js/js_2-SVCok8DG5Lzim9gXPWd3Nl-8fcvUTM6iDrLUKgTWc.js?scope=footer&amp;delta=1&amp;language=en&amp;theme=p4base&amp;include=eJxljEEOhDAMAz9U6GX_gwI1EFGaKg0L_H6LBFz2Ys3YkikEE0qnpxvaUSWZI_bE3RSlp-h6mEE7HFkKQjdyrFr8hAStMw6LnBYfdMsU21td_vRU4K94eCANDQ-SmkqyFcRnWUkXmLwqPUc0K9L2VFm5rI_YzPUpk9rZKL6M_e9x52JMLs9iUnbO9eHFlhObK2zYOaCjCDV_dT8FOWfH"></script>
vendor: 1 bytes, line 4916
4916
4917<script src="//resources.perforce.com/js/forms2/js/forms2.min.js" data-cfasync="false"></script>
vendor: 1 bytes, line 4917
4917
4918<script src="/sites/default/files/js/js_VBN66Zt9U9Y7Qf9o7HqwLR2y-SILz6AiiDXYzwFAlQw.js?scope=footer&amp;delta=3&amp;language=en&amp;theme=p4base&amp;include=eJxljEEOhDAMAz9U6GX_gwI1EFGaKg0L_H6LBFz2Ys3YkikEE0qnpxvaUSWZI_bE3RSlp-h6mEE7HFkKQjdyrFr8hAStMw6LnBYfdMsU21td_vRU4K94eCANDQ-SmkqyFcRnWUkXmLwqPUc0K9L2VFm5rI_YzPUpk9rZKL6M_e9x52JMLs9iUnbO9eHFlhObK2zYOaCjCDV_dT8FOWfH"></script>
vendor: 1 bytes, line 4918
4918
4919<script src="https://static.addtoany.com/menu/page.js" defer></script>
vendor: 1 bytes, line 4919
4919
4920<script src="/sites/default/files/js/js_iiCbpb5WihnrpkHRWIEIbwcwnCH2_z6xabfiSVrt03E.js?scope=footer&amp;delta=5&amp;language=en&amp;theme=p4base&amp;include=eJxljEEOhDAMAz9U6GX_gwI1EFGaKg0L_H6LBFz2Ys3YkikEE0qnpxvaUSWZI_bE3RSlp-h6mEE7HFkKQjdyrFr8hAStMw6LnBYfdMsU21td_vRU4K94eCANDQ-SmkqyFcRnWUkXmLwqPUc0K9L2VFm5rI_YzPUpk9rZKL6M_e9x52JMLs9iUnbO9eHFlhObK2zYOaCjCDV_dT8FOWfH"></script>
vendor: 1 bytes, line 4920
4920
4921<script src="https://cdn.jsdelivr.net/npm/@alpinejs/[email protected]/dist/cdn.min.js" integrity="sha384-bKXNU7o2Y3Uk/F2PB6U0bMyGZf6pLDnePM70U7sTE3cXUQ+JLgzrr/kwipEh0p23" crossorigin="anonymous"></script>
vendor: 1 bytes, line 4921
4921
4922<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/cdn.min.js" integrity="sha384-iZD2X8o1Zdq0HR5H/7oa8W30WS4No+zWCKUPD7fHRay9I1Gf+C4F8sVmw7zec1wW" crossorigin="anonymous"></script>
vendor: 1 bytes, line 4922
4922
4923<script src="/sites/default/files/js/js_sU-xLRtRHenKhYaUoDCng_76M3wntMAOlrOIK_51O5M.js?scope=footer&amp;delta=8&amp;language=en&amp;theme=p4base&amp;include=eJxljEEOhDAMAz9U6GX_gwI1EFGaKg0L_H6LBFz2Ys3YkikEE0qnpxvaUSWZI_bE3RSlp-h6mEE7HFkKQjdyrFr8hAStMw6LnBYfdMsU21td_vRU4K94eCANDQ-SmkqyFcRnWUkXmLwqPUc0K9L2VFm5rI_YzPUpk9rZKL6M_e9x52JMLs9iUnbO9eHFlhObK2zYOaCjCDV_dT8FOWfH"></script>
vendor: 1 bytes, line 4923
4923
4924<script src="https://fast.wistia.com/player.js" async></script>
vendor: 1 bytes, line 4924
4924
4925<script src="/sites/default/files/js/js_kTqeXG6U9Z-CSqrLVk_kTLdM5I4vMGkBFwp15HoT7-0.js?scope=footer&amp;delta=10&amp;language=en&amp;theme=p4base&amp;include=eJxljEEOhDAMAz9U6GX_gwI1EFGaKg0L_H6LBFz2Ys3YkikEE0qnpxvaUSWZI_bE3RSlp-h6mEE7HFkKQjdyrFr8hAStMw6LnBYfdMsU21td_vRU4K94eCANDQ-SmkqyFcRnWUkXmLwqPUc0K9L2VFm5rI_YzPUpk9rZKL6M_e9x52JMLs9iUnbO9eHFlhObK2zYOaCjCDV_dT8FOWfH"></script>
vendor: 1 bytes, line 4925
4925
4926<script src="//cdnjs.cloudflare.com/ajax/libs/photoswipe/5.4.4/umd/photoswipe-lightbox.umd.min.js"></script>
vendor: 1 bytes, line 4926
4926
4927<script src="//cdnjs.cloudflare.com/ajax/libs/photoswipe/5.4.4/umd/photoswipe.umd.min.js"></script>
vendor: 1 bytes, line 4927
4927
4928<script src="/sites/default/files/js/js_8IQ0Jp7a_hzLXJUHd8XCthALtM3TfaSSeWwf43mjzDk.js?scope=footer&amp;delta=13&amp;language=en&amp;theme=p4base&amp;include=eJxljEEOhDAMAz9U6GX_gwI1EFGaKg0L_H6LBFz2Ys3YkikEE0qnpxvaUSWZI_bE3RSlp-h6mEE7HFkKQjdyrFr8hAStMw6LnBYfdMsU21td_vRU4K94eCANDQ-SmkqyFcRnWUkXmLwqPUc0K9L2VFm5rI_YzPUpk9rZKL6M_e9x52JMLs9iUnbO9eHFlhObK2zYOaCjCDV_dT8FOWfH"></script>
4928
4929
4930  </body>
4931</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.