<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Php on Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</title>
    <link>https://homelab-guide.de/tags/php/</link>
    <description>Recent content in Php on Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</description>
    <image>
      <title>Homelab Guide – Selfhosting, Proxmox &amp; Docker Tutorials</title>
      <url>https://homelab-guide.de/images/homelab-guide-og.png</url>
      <link>https://homelab-guide.de/images/homelab-guide-og.png</link>
    </image>
    <generator>Hugo -- 0.159.1</generator>
    <language>de</language>
    <lastBuildDate>Fri, 27 Feb 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://homelab-guide.de/tags/php/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>pfSense PHP-Falle: disabled:&#39;&#39; deaktiviert deine Firewall-Regel lautlos</title>
      <link>https://homelab-guide.de/posts/pfsense-php-falle-disabled-deaktiviert-deine-firewall-regel-lautlos/</link>
      <pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense-php-falle-disabled-deaktiviert-deine-firewall-regel-lautlos/</guid>
      <description>Firewall-Regel via PHP in config.xml geschrieben, filter_configure() aufgerufen, pf zeigt nichts. Kein Fehler, keine Warnung. Der Grund: ein leerer PHP-String im &amp;lsquo;disabled&amp;rsquo;-Key. Ein isset()-Gotcha das Stunden kostet.</description>
    </item>
    <item>
      <title>pfSense: Snort → Suricata Migration — vollautomatisch via PHP</title>
      <link>https://homelab-guide.de/posts/pfsense-snort-suricata-migration-vollautomatisch-via-php/</link>
      <pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense-snort-suricata-migration-vollautomatisch-via-php/</guid>
      <description>Snort 2.9.x ist End-of-Life. Wer auf pfSense noch Snort betreibt, sollte jetzt auf Suricata wechseln. Dieser Artikel zeigt wie die Migration vollautomatisch via PHP-API funktioniert — inkl. der drei Fallen die mich Stunden gekostet haben.</description>
    </item>
    <item>
      <title>pfSense: config.xml per PHP automatisieren — Pitfalls und Patterns</title>
      <link>https://homelab-guide.de/posts/pfsense-config.xml-per-php-automatisieren-pitfalls-und-patterns/</link>
      <pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/pfsense-config.xml-per-php-automatisieren-pitfalls-und-patterns/</guid>
      <description>pfSense hat eine PHP-API die direkt auf config.xml operiert. Klingt verlockend für Automatisierung — ist es auch, aber mit Fallstricken die nirgendwo dokumentiert sind. Hier sind die Patterns und Pitfalls die ich beim Härten einer pfSense-Installation gelernt habe.</description>
    </item>
    <item>
      <title>PHPMailer SMTP auth schlägt fehl, curl geht — der `!`-Passwort-Trick</title>
      <link>https://homelab-guide.de/posts/phpmailer-smtp-auth-schl%C3%A4gt-fehl-curl-geht-der-passwort-trick/</link>
      <pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab-guide.de/posts/phpmailer-smtp-auth-schl%C3%A4gt-fehl-curl-geht-der-passwort-trick/</guid>
      <description>PHPMailer kann sich nicht per SMTP authentifizieren, obwohl curl mit denselben Credentials funktioniert. Die überraschende Ursache: Bash-History-Expansion verwandelt &lt;code&gt;!&lt;/code&gt; heimlich in &lt;code&gt;\!&lt;/code&gt; — und PHP kennt diesen Trick nicht.</description>
    </item>
  </channel>
</rss>
