Files
static-php-cli/assets/zh_guide_extension-notes.md.D9lGXhKW.js

1 line
13 KiB
JavaScript
Raw Normal View History

import{G as e,K as t,at as n,j as r}from"./chunks/framework.DrNIf5Lg.js";var i=JSON.parse(`{"title":"扩展注意事项","description":"","frontmatter":{},"headers":[],"relativePath":"zh/guide/extension-notes.md","filePath":"zh/guide/extension-notes.md"}`),a={name:`zh/guide/extension-notes.md`};function o(r,i,a,o,s,c){return n(),e(`div`,null,[...i[0]||=[t(`<h1 id="扩展注意事项" tabindex="-1">扩展注意事项 <a class="header-anchor" href="#扩展注意事项" aria-label="Permalink to “扩展注意事项”"></a></h1><p>因为是静态编译,扩展不会 100% 完美编译,而且不同扩展对 PHP、环境都有不同的要求这里将一一列举。</p><h2 id="curl" tabindex="-1">curl <a class="header-anchor" href="#curl" aria-label="Permalink to “curl”"></a></h2><p>HTTP3 支持默认未启用,需在编译时添加 <code>--with-libs=&quot;nghttp2,nghttp3,ngtcp2&quot;</code> 以启用 PHP 8.4 及以上版本的 HTTP3 支持。</p><p>使用 curl 请求 HTTPS 时,可能存在 <code>error:80000002:system library::No such file or directory</code> 错误, 解决办法详见 <a href="./../faq/">FAQ</a>。</p><h2 id="phpmicro" tabindex="-1">phpmicro <a class="header-anchor" href="#phpmicro" aria-label="Permalink to “phpmicro”"></a></h2><ol><li>phpmicro SAPI 仅支持 PHP &gt;= 8.0 版本。</li></ol><h2 id="swoole" tabindex="-1">swoole <a class="header-anchor" href="#swoole" aria-label="Permalink to “swoole”"></a></h2><ol><li>swoole &gt;= 5.0 版本仅支持 PHP &gt;= 8.0 版本。</li><li>swoole 目前不支持 PHP 8.0 版本 curl 的 hook后续有可能会修复。</li><li>编译时只包含 <code>swoole</code> 扩展时不会完整开启支持的 Swoole 数据库协程 hook如需使用请加入对应的 <code>swoole-hook-xxx</code> 扩展。</li><li>swoole 在部分扩展组合下可能出现 <code>zend_mm_heap corrupted</code> 问题,暂未找到是什么原因导致的。</li></ol><h2 id="swoole-hook-pgsql" tabindex="-1">swoole-hook-pgsql <a class="header-anchor" href="#swoole-hook-pgsql" aria-label="Permalink to “swoole-hook-pgsql”"></a></h2><p>swoole-hook-pgsql 不是一个扩展,而是 Swoole 的 Hook 特性。 如果你在编译时添加了 <code>swoole,swoole-hook-pgsql</code>,你将启用 Swoole 的 PostgreSQL 客户端和 <code>pdo_pgsql</code> 扩展的协程模式。</p><p>swoole-hook-pgsql 与 <code>pdo_pgsql</code> 扩展冲突。如需使用 Swoole 和 <code>pdo_pgsql</code>,请删除 pdo_pgsql 扩展,启用 <code>swoole</code> 和 <code>swoole-hook-pgsql</code> 即可。 该扩展包含了 <code>pdo_pgsql</code> 的协程环境的实现。</p><p>在 macOS 系统,<code>pdo_pgsql</code> 可能无法正常连接到 postgresql 服务器,请谨慎使用。</p><h2 id="swoole-hook-mysql" tabindex="-1">swoole-hook-mysql <a class="header-anchor" href="#swoole-hook-mysql" aria-label="Permalink to “swoole-hook-mysql”"></a></h2><p>swoole-hook-mysql 不是一个扩展,而是 Swoole 的 Hook 特性。 如果你在编译时添加了 <code>swoole,swoole-hook-mysql</code>,你将启用 Swoole 的 <code>mysqlnd</code> 和 <code>pdo_mysql</code> 的协程模式。</p><h2 id="swoole-hook-sqlite" tabindex="-1">swoole-hook-sqlite <a class="header-anchor" href="#swoole-hook-sqlite" aria-label="Permalink to “swoole-hook-sqlite”"></a></h2><p>swoole-hook-sqlite 不是一个扩展,而是 Swoole 的 Hook 特性。 如果你在编译时添加了 <code>swoole,swoole-hook-sqlite</code>,你将启用 Swoole 的 <code>pdo_sqlite</code> 的协程模式Swoole 必须为 5.1 以上)。</p><p>swoole-hook-sqlite 与 <code>pdo_sqlite</code> 扩展冲突。如需使用 Swoole 和 <code>pdo_sqlite</code>,请删除 pdo_sqlite 扩展,启用 <code>swoole</code> 和 <code>swoole-hook-sqlite</code> 即可。 该扩展包含了 <code>pdo_sqlite</code> 的协程环境的实现。</p><h2 id="swoole-hook-odbc" tabindex="-1">swoole-hook-odbc <a class="header-anchor" href="#swoole-hook-odbc" aria-label="Permalink to “swoole-hook-odbc”"></a></h2><p>swo