RUNTIME İNDİRME
ozguard eklentisini kurun, şifreli ürününüzü çalıştırın
ozguard, OZP1 ile şifrelenmiş uygulamaları sunucunuzda çalıştıran küçük ve yerleşik bir PHP eklentisidir. Aşağıdaki matristen PHP sürümünüze uyan derlemeyi seçin, sağlamasını doğrulayın, php.ini'ye iki satır ekleyin — hepsi bu.
Bu linki ChatGPT veya Claude gibi bir AI asistana yapıştırarak bu sayfayı anlatabilirsiniz.
https://onionzero.com/llms/runtime.txt
1 · Sunucunuz için doğru derlemeyi bulun
Hedef sunucuda üç kısa komut, matriste hangi hücreyi indireceğinizi kesin olarak söyler.
PHP sürümü
php -v çıktısındaki ana.ara sürümü not edin (örn. 8.3). Aşağıdaki matriste PHP 8.0’dan 8.5’e her sürüm için bir satır var.
terminalphp -vThread safety (NTS mi TS mi)
Satırda "Thread Safety => enabled" yazıyorsa TS, "disabled" yazıyorsa NTS derlemesini indirin. Tek satırlık komut sonucu doğrudan basar.
terminalphp -i | grep "Thread Safety" # veya kısaca: php -r "echo PHP_ZTS ? 'TS (ZTS)' : 'NTS', PHP_EOL;"Mimari x64 olmalı
ozguard yalnızca 64 bit (x64) PHP için yayımlanır. Komut x64 basmalı; 32 bit (x86) PHP desteklenmez.
terminalphp -r "echo PHP_INT_SIZE === 8 ? 'x64' : 'x86', PHP_EOL;"
2 · Uyan derlemeyi indirin
Tüm derlemeler OnionZero API’sinden yayımlanmış SHA-256 sağlamasıyla sunulur. İndirdikten sonra sağlamayı karşılaştırın — eşleşmeyen dosyayı asla çalıştırmayın.
Windows derlemeleri PHP 8.0–8.5 için hem NTS hem TS olarak var; Linux derlemeleri PHP 8.1–8.5 için hem NTS hem TS (ZTS) olarak var — PHP’nize uyanı seçin (php -i → “Thread Safety”).
Eski (legacy) indirme uçları
İlk tek-derleme uçları mevcut entegrasyonlar için açık kalıyor. Yukarıdaki PHP 8.3 NTS satırlarıyla aynı dosyaları sunarlar.
432ca164321420…92aa979bee2921…3 · Kurun ve etkinleştirin
İki adım: dosyayı PHP eklenti dizinine bırakın, ardından php.ini’den referans verin. Satıcı public key derleme zamanında eklentiye gömülüdür — anahtar satırı gerekmez.
Windows (AppServ, IIS, Apache)
DLL’i kopyalayın
İndirdiğiniz ozguard.dll dosyasını PHP eklenti dizinine koyun (örn. C:\AppServ\php8\ext\).
php.ini’yi düzenleyin
DLL’e tam yoluyla referans verin. Satıcı public key eklentiye önceden gömülüdür — oz_request_file() ve aktivasyon akışları hiçbir anahtar ayarı olmadan çalışır.
php.ini; php.ini — ozguard eklentisi (müşteri sunucusu) extension = "C:\AppServ\php8\ext\ozguard.dll" ; Satıcı açık anahtarı derleme zamanında eklentiye gömülüdür — ; php.ini'de anahtar ayarı GEREKMEZ. ; İsteğe bağlı: panelde görünen uygulama kimliği ozguard.app_name = "my-application" ozguard.app_version = "2.1.0"Web sunucusunu yeniden başlatın
Modülün yüklenmesi için Apache/IIS’i (veya AppServ servislerini) yeniden başlatın.
Linux (PHP-FPM / Apache)
.so dosyasını eklenti dizinine kopyalayın
php-config, kurulumunuza ait doğru dizini bildirir.
terminalsudo cp ozguard.so "$(php-config --extension-dir)/"Modülü etkinleştirin
Debian/Ubuntu düzeni (mods-available + phpenmod); diğer dağıtımlarda extension satırını doğrudan php.ini’ye ekleyin. Anahtar ayarı yok — satıcı public key .so dosyasına gömülüdür.
terminal# Debian/Ubuntu: echo 'extension = ozguard.so' | sudo tee /etc/php/8.3/mods-available/ozguard.ini sudo phpenmod ozguardPHP’yi yeniden başlatın
Eklentinin web SAPI’si tarafından yüklenmesi için FPM’i (veya Apache’yi) yeniden başlatın.
terminalsudo systemctl restart php8.3-fpm # veya: sudo systemctl restart apache2
4 · Kurulumu doğrulayın
İki kontrol: dosyanın kendisi (sağlama) ve yüklü modül listesi.
Sağlamayı karşılaştırın
Basılan özet, matristeki hücrenizin SHA-256 değeriyle birebir eşleşmeli. Eşleşmiyorsa dosyayı silip yeniden indirin.
certutil -hashfile C:\AppServ\php8\ext\ozguard.dll SHA256
sha256sum "$(php-config --extension-dir)/ozguard.so"
Modül listede görünmeli
php -m | findstr ozguard
php -m | grep ozguard
- php -m çıktısında ozguard görünüyorsa eklenti CLI’da yüklü demektir.
- phpinfo() sayfasında ozguard bölümü açılıyorsa web SAPI’si de yüklüyor demektir (unutmayın: web ve CLI farklı php.ini okuyabilir).
- phpinfo sayfasındaki OZP1 key fingerprint satırı, satıcı teslimatınızdaki parmak iziyle aynı olmalı.
Sorun giderme
PHP Startup: ozguard: Unable to initialize module — "these options need to match"
Klasik NTS/TS karışıklığı. Mesajın sonunda iki derleme kimliği görünür: "Module compiled with build ID=API20230831,NTS,VS16" ile "PHP compiled with …,TS,VS16" gibi. PHP’niz thread-safe ama siz NTS derlemeyi indirmişsiniz (veya tersi). 1. adıma dönüp php -i | grep "Thread Safety" ile doğrulayın ve aynı PHP sürümünün diğer hücresini indirin.
Warning: PHP Startup: ozguard: Unable to initialize module — API numaraları farklı (örn. API20220829 / API20230831)
Modül başka bir PHP sürümü için derlenmiş: ilk sayı modülün PHP API’si (8.2 → 20220829), ikincisi sunucunuzun API’si (8.3 → 20230831). php -v çıktısıyla birebir eşleşen satırı indirin; eklentiler ara sürümler arasında yüklenmez.
Unable to load dynamic library 'ozguard' / 'ozguard.so' — No such file or directory
PHP, php.ini’nin gösterdiği yerde dosyayı bulamıyor. extension_dir’i php --ini ve php -i | grep extension_dir ile kontrol edin; Debian/Ubuntu’da mods-available + phpenmod düzenini, Windows’ta tam mutlak yolu tercih edin.
İndirme sonrası SHA-256 sağlaması eşleşmiyor
Dosyayı hemen silin ve HTTPS üzerinden yeniden indirin. Sağlaması matrisle uyuşmayan modülü yüklemeyin — aktarımda bozulmuş veya değiştirilmiştir.
php -m ozguard’ı listeliyor ama uygulama hâlâ "eklenti eksik" diyor
CLI ve web SAPI’si (FPM/Apache/IIS) çoğu zaman farklı php.ini okur ve web sunucusu henüz yeniden başlatılmamıştır. FPM/Apache’yi yeniden başlatın, ardından bir phpinfo() sayfasında ozguard bölümünün web SAPI’si için de göründüğünü doğrulayın.
Derleme mi eksik, bir adımda mı takıldınız?
php -v çıktınızı ve işletim sisteminizi yazın — istek üzerine ek derleme yayımlıyor, kurulumda yardımcı oluyoruz.