<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Php on Embark Systems</title>
    <link>https://embark.systems/tags/php/</link>
    <description>Recent content in Php on Embark Systems</description>
    <generator>Hugo</generator>
    <language>zh-tw</language>
    <lastBuildDate>Fri, 03 Apr 2026 14:34:02 +0800</lastBuildDate>
    <atom:link href="https://embark.systems/tags/php/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>零停機搬遷 850TB 海量資料：一場神不知鬼不覺的「換引擎」工程</title>
      <link>https://embark.systems/posts/wretch-filer-migration/</link>
      <pubDate>Fri, 03 Apr 2026 14:34:02 +0800</pubDate>
      <guid>https://embark.systems/posts/wretch-filer-migration/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../../images/wretch-filer-migration.png&#34; alt=&#34;W Filer Migration&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;緣起在高速公路上替換賽車引擎&#34;&gt;&#xA;  緣起：在高速公路上替換賽車引擎&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e7%b7%a3%e8%b5%b7%e5%9c%a8%e9%ab%98%e9%80%9f%e5%85%ac%e8%b7%af%e4%b8%8a%e6%9b%bf%e6%8f%9b%e8%b3%bd%e8%bb%8a%e5%bc%95%e6%93%8e&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;回溯至 2011 年左右，W 小站面臨了一項極限任務：我們必須在 &lt;strong&gt;完全不影響服務（Zero Downtime）&lt;/strong&gt; 的情況下，完成大規模底層架構變革。外界對此幾乎毫無察覺，但對內部團隊而言，這是一場在極速行駛中替換引擎的硬仗。&#xA;當時的核心架構中，由於使用者的照片數量極其龐大，單一檔案伺服器（Filer）無法承載所有數據，因此系統是由多台 Filer 分散負載。而在資料庫設計上，使用者資料表中有一個特定欄位，專門用來記錄該使用者存放於哪一座 Filer 上，藉此進行存取導向。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extending PHP</title>
      <link>https://embark.systems/posts/php-extension/</link>
      <pubDate>Mon, 30 Mar 2026 23:14:39 +0800</pubDate>
      <guid>https://embark.systems/posts/php-extension/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../../images/php-extension.png&#34; alt=&#34;PHP Extension&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;起點&#34;&gt;&#xA;  起點&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e8%b5%b7%e9%bb%9e&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;近期回顧自己維護的 &lt;a href=&#34;https://github.com/embark-systems/pecl-qrencode&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;QREncode PHP Extension&lt;/a&gt;，驚覺這項專案已橫跨了 19 年的光陰。&lt;/p&gt;&#xA;&lt;p&gt;回想起當初踏入這塊領域，大約是在 2004 年。當時受到同事 G 老師開發 PHP Extension 的啟發，發現這門技術並非遙不可及。於是，我以他的專案為雛形，在公餘之暇鑽研、實作，這段『試錯』的過程，也成為我進入該領域的契機。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
