Web Hosting & cPanel

    PHP OPcache Nedir ve Nasıl Etkinleştirilir

    Derlenmiş PHP betiklerini bellekte tutarak hız kazandıran OPcache'i etkinleştirme ve ayarlamayı anlatan rehber.

    12 dk okuma Güncellendi: 10 Temmuz 2026

    Bir PHP sitesi her istekte, çalıştırdığı .php dosyalarını sıfırdan okur, sözdizimini ayrıştırır ve bilgisayarın anlayacağı bir ara dile (bytecode / opcode) derler. WordPress gibi yüzlerce dosyadan oluşan bir uygulamada bu derleme işi, tek bir sayfa açılışında bile ciddi bir CPU yükü demektir. Ziyaretçi başına yapılan bu tekrarlı ve gereksiz derleme, sitenizin gerçek yükünü değil, aynı işin sürekli baştan yapılmasını temsil eder. İşte tam bu noktada devreye giren OPcache, PHP'nin resmi ve yerleşik önbellek motorudur.

    OPcache, bir PHP dosyasını ilk kez çalıştırdığında ortaya çıkan derlenmiş opcode'u paylaşımlı bellekte (RAM) saklar ve sonraki isteklerde dosyayı yeniden derlemek yerine doğrudan bellekten okur. Sonuç, çoğu sitede gözle görülür bir hız artışı ve daha düşük sunucu yüküdür; hem de tek bir satır kod değiştirmeden. Bu yazıda OPcache'in nasıl çalıştığını, nesne önbelleğinden neden farklı olduğunu, cPanel MultiPHP INI Editor ile nasıl etkinleştirileceğini, opcache.memory_consumption ve validate_timestamps gibi kritik ayarları ve en önemlisi, kod güncellemesi sonrası önbelleğin nasıl güvenle temizleneceğini adım adım ele alacağız.

    OPcache Nedir ve Nasıl Çalışır?#

    PHP yorumlanan (interpreted) bir dildir; yani yazdığınız kaynak kod, çalıştırılmadan önce derlenmiş bir ikili dosyaya dönüştürülmez. Her HTTP isteğinde PHP motoru şu adımları izler: dosyayı diskten okur, "lexing" ile jetonlara ayırır, "parsing" ile bir sözdizimi ağacı (AST) oluşturur, bu ağacı Zend Engine'in çalıştırabileceği opcode dizisine derler ve en sonunda bu opcode'ları yürütür. Bu zincirin ilk dört adımı, kaynak kod değişmediği sürece her istekte tamamen aynı sonucu üretir. OPcache'in temel fikri de budur: aynı sonucu her seferinde yeniden hesaplamak yerine bir kez hesaplayıp saklamak.

    OPcache etkinleştirildiğinde, bir dosya ilk kez istendiğinde normal derleme süreci işler, ancak ortaya çıkan opcode diske değil, PHP süreçleri arasında paylaşılan bir bellek bölgesine (shared memory) yazılır. Aynı dosya bir sonraki istekte çağrıldığında motor önce bu bellek bölgesine bakar; opcode orada hazırsa lexing, parsing ve derleme adımlarını tamamen atlar ve doğrudan yürütmeye geçer. Diskten okuma ve derleme yükü ortadan kalktığı için, özellikle çok sayıda dosya içeren uygulamalarda istek başına işlem süresi belirgin biçimde kısalır.

    OPcache, PHP 5.5 sürümünden itibaren PHP çekirdeğiyle birlikte gelir ve modern hosting ortamlarının neredeyse tamamında kuruludur. Yani ek bir yazılım kurmanıza gerek yoktur; çoğu durumda yapmanız gereken tek şey onu etkinleştirmek ve ihtiyacınıza göre birkaç ayarı düzenlemektir. Doğru PHP sürümüyle birlikte kullanıldığında etkisi daha da artar; hangi sürümde olduğunuzu ve nasıl değiştireceğinizi PHP sürüm yönetimi yazımızda ayrıntılı biçimde anlatmıştık.

    OPcache Site Hızını Ne Kadar Artırır?#

    Kazancın büyüklüğü, uygulamanızın ne kadar "PHP ağırlıklı" olduğuna bağlıdır. Az sayıda dosyadan oluşan basit bir sayfada fark küçük kalabilir; ancak WordPress, Laravel, Magento gibi her istekte onlarca hatta yüzlerce dosyayı yükleyen sistemlerde etki çarpıcıdır. OPcache olmadan, ana WordPress sayfasının bir açılışı yüzlerce dosyanın ayrıştırılması ve derlenmesi demektir; OPcache ile bu iş bir kez yapılır, sonrasında bellekten okunur.

    Pratik olarak neyi değiştirdiğini şöyle özetleyebiliriz:

    ÖlçütOPcache KapalıOPcache Açık
    İstek başına PHP işlem süresiYüksek (her seferinde derleme)Düşük (bellekten okuma)
    CPU tüketimiYüksekBelirgin biçimde düşük
    Aynı sunucunun kaldırabileceği eşzamanlı istekAzDaha fazla
    Disk I/OHer istekte dosya okumaİlk yüklemeden sonra minimal

    Buradaki en önemli ikincil kazanç, CPU tasarrufunun getirdiği kapasite artışıdır. Derleme yükü kalktığı için aynı sunucu, aynı donanımla daha fazla eşzamanlı ziyaretçiye yanıt verebilir. Yani OPcache sadece "sayfayı hızlandıran" bir ayar değil, aynı zamanda paylaşımlı bir hosting hesabında kaynaklarınızı daha verimli kullanmanızı, kendi sunucunuzda ise ölçeklenmeyi geciktirmenizi sağlayan bir kaldıraçtır. WordPress özelinde bu ayarı diğer hız teknikleriyle birlikte nasıl kullanacağınızı WordPress hız optimizasyonu rehberinde bulabilirsiniz.

    OPcache ile Nesne Önbelleği Arasındaki Fark#

    OPcache'i doğru konumlandırmak için en sık karıştırılan noktayı netleştirelim: OPcache bir opcode önbelleğidir, bir veri (nesne) önbelleği değildir. İkisi tamamen farklı katmanlarda çalışır ve birbirinin yerine geçmez; aksine birlikte kullanıldıklarında en iyi sonucu verirler.

    OPcache kodun kendisini önbelleğe alır: PHP dosyalarının derlenmiş halini saklar. Redis veya Memcached gibi bir nesne önbelleği (object cache) ise kodun ürettiği verileri saklar; örneğin bir veritabanı sorgusunun sonucunu, hesaplanmış bir menüyü veya WordPress'te tekrar tekrar çekilen ayarları RAM'de tutarak veritabanı yükünü azaltır. WordPress'te wp-config.php üzerinden kurulan kalıcı nesne önbelleği ile OPcache birbirini tamamlar: biri PHP'nin çalışma hızını, diğeri veritabanı erişim hızını iyileştirir.

    Aradaki farkı şöyle özetleyebiliriz:

    ÖzellikOPcacheNesne Önbelleği (Redis/Memcached)
    Ne saklar?Derlenmiş PHP opcode (kod)Sorgu sonuçları, hesaplanmış veri
    AmacıKodu yeniden derlememekVeritabanına tekrar gitmemek
    KurulumPHP ile gelir, etkinleştirilirAyrı servis + PHP eklentisi gerekir
    ÖlçekTek sunucu belleğiAğ üzerinden paylaşılabilir

    Kısacası "sitem yavaş, önbellek açayım" derken hangi önbellekten söz ettiğinizi bilmek önemlidir. OPcache neredeyse her PHP sitesinde açık olması gereken temel bir katmandır ve yapılandırması basittir; nesne önbelleği ise trafiği veya veritabanı yükü yüksek siteler için ek bir optimizasyon adımıdır.

    OPcache Etkin mi, Nasıl Kontrol Edilir?#

    Ayar yapmadan önce OPcache'in mevcut durumunu görmeniz gerekir. En hızlı yöntem, geçici bir bilgi dosyası oluşturmaktır. Sitenizin kök dizinine aşağıdaki içerikle bir phpinfo.php dosyası ekleyin:

    <?php
    phpinfo();
    

    Bu dosyayı siteniz.com/phpinfo.php adresinden açıp sayfa içinde opcache araması yaptığınızda, Opcode Caching satırının değeri Up and Running ise OPcache aktiftir. Ayrıca opcache.enable, memory_consumption, validate_timestamps gibi tüm geçerli ayarları da bu tablodan görebilirsiniz. Önemli: Bu dosya sunucunuzun yapılandırmasını ayrıntılı biçimde ifşa eder; kontrolünüzü bitirir bitirmez dosyayı mutlaka silin.

    Sunucunuza SSH ile bağlanabiliyorsanız komut satırından da doğrulayabilirsiniz:

    # OPcache modülü yüklü mü?
    php -m | grep -i opcache
    
    # OPcache'e ait tüm ayarları listele
    php -i | grep opcache
    

    Web sunucusunun kullandığı sürüm ile CLI sürümü farklı olabileceğinden, en güvenilir sonuç yine tarayıcıdaki phpinfo() çıktısıdır; çünkü siteyi gerçekte hangi PHP-FPM sürecinin çalıştırdığını o gösterir.

    cPanel MultiPHP INI Editor ile OPcache Etkinleştirme#

    Paylaşımlı veya reseller hosting kullanıyorsanız OPcache ayarlarını doğrudan sunucu dosyalarına dokunmadan, cPanel arayüzünden güvenle yönetebilirsiniz. Bunun için MultiPHP INI Editor aracı kullanılır. Adımlar şöyledir:

    1. cPanel'e giriş yapın ve arama kutusuna MultiPHP INI Editor yazarak aracı açın.
    2. Açılan sayfada iki mod vardır: Basic Mode (temel ayarlar için açık/kapalı anahtarlar) ve Editor Mode (ham .ini içeriğini elle düzenleme). Üst kısımdaki "Configure PHP INI basic settings" alanında düzenlemek istediğiniz alan adını (domain) seçin.
    3. Basic Mode'da opcache ile ilgili bir anahtar görürseniz onu açın. Bu araçta OPcache doğrudan görünmüyorsa, Editor Mode sekmesine geçip aynı alan adını seçin.
    4. Editor Mode'da metin kutusuna aşağıdaki OPcache ayarlarını ekleyin ve Apply / Save düğmesiyle kaydedin.
    opcache.enable=1
    opcache.enable_cli=0
    opcache.memory_consumption=192
    opcache.interned_strings_buffer=16
    opcache.max_accelerated_files=10000
    opcache.validate_timestamps=1
    opcache.revalidate_freq=60
    opcache.save_comments=1
    

    Kaydettikten sonra değişikliğin uygulanması genellikle birkaç saniye sürer; PHP-FPM havuzu ayarları yeniden okur. Doğru uygulanıp uygulanmadığını yukarıdaki phpinfo() yöntemiyle teyit edebilirsiniz. Not: cPanel'in bazı sürümlerinde ve barındırma yapılandırmalarında OPcache zaten sunucu genelinde açıktır; bu durumda göreviniz onu etkinleştirmek değil, yalnızca bellek ve zaman damgası ayarlarını ihtiyacınıza göre ince ayar yapmaktır. cPanel'i hiç kullanmadıysanız web hosting planlarımız bu paneli hazır sunar.

    Temel OPcache Ayarları ve Anlamları#

    OPcache'i kurcalarken her ayarın ne işe yaradığını bilmek, gereksiz sorunları önler. En sık düzenlenen ve gerçekten fark yaratan parametreler şunlardır:

    AyarÖrnek DeğerNe İşe Yarar?
    opcache.memory_consumption192Opcode'lar için ayrılan bellek (MB). Küçükse önbellek dolar ve verim düşer.
    opcache.interned_strings_buffer16Tekrar eden dizeleri saklamak için ayrılan bellek (MB).
    opcache.max_accelerated_files10000Aynı anda önbelleğe alınabilecek dosya sayısı üst sınırı.
    opcache.validate_timestamps1Değişen dosyaların otomatik yeniden derlenip derlenmeyeceği.
    opcache.revalidate_freq60Dosya değişikliğinin kaç saniyede bir kontrol edileceği.
    opcache.enable_cli0OPcache'in komut satırı (CLI) PHP için de açılıp açılmayacağı.

    En kritik ayar opcache.memory_consumption'dır. WordPress ve eklentileri gibi çok dosyalı uygulamalarda 128 MB alt sınır kabul edilir; orta ölçekli siteler için 192 MB, çok sayıda eklentisi olan büyük siteler veya birden fazla site barındıran hesaplar için 256 MB uygun bir başlangıçtır. Bu bellek yetersiz kalırsa OPcache eski girdileri atmaya başlar ("cache full") ve dosyalar tekrar tekrar derlenir; bu da hız kazancını yok eder.

    opcache.max_accelerated_files ise önbelleğe alınabilecek dosya sayısını sınırlar. WordPress + WooCommerce + onlarca eklenti kolayca binlerce dosya eder; bu değer düşük kalırsa bazı dosyalar hiç önbelleğe alınamaz. OPcache bu sayıyı içeride bir sonraki asal sayıya yuvarlar, bu yüzden 10000 gibi bolca yüksek bir değer vermek güvenlidir. opcache.save_comments=1 ise özellikle WordPress için önemlidir; bazı kütüphaneler (örneğin yorum tabanlı yönlendirme kullanan bileşenler) docblock yorumlarını çalışma anında okur, bunları önbellekten atarsanız beklenmedik hatalar alabilirsiniz.

    validate_timestamps ve Deploy Sonrası Önbellek Temizleme#

    OPcache ile ilgili en çok kafa karışıklığı yaratan ayar opcache.validate_timestamps'tır ve doğru anlaşılması şarttır. Bu ayar, OPcache'in bir dosyanın değişip değişmediğini kontrol edip etmeyeceğini belirler:

    • validate_timestamps=1 (varsayılan): OPcache, revalidate_freq ile belirlenen aralıkta (örneğin 60 saniyede bir) dosyanın diskteki değişiklik zamanını kontrol eder. Dosya değişmişse önbelleği otomatik günceller. Kod güncellemeleriniz belirli bir gecikmeyle canlıya yansır; geliştirme ve çoğu üretim ortamı için güvenli seçimdir.
    • validate_timestamps=0: OPcache dosya değişikliklerini hiç kontrol etmez. Bu, mümkün olan en yüksek performansı verir (disk kontrolü tamamen kalkar), ancak siz manuel olarak temizleyene kadar OPcache eski kodu çalıştırmaya devam eder. Bir tema dosyasını düzenler ve değişikliğin neden görünmediğini merak ederseniz, sebep büyük ihtimalle budur.

    Üretim sunucularında en yüksek performans için validate_timestamps=0 tercih edilir, ancak bu durumda her kod güncellemesinden (deploy) sonra OPcache'i manuel temizlemeniz zorunludur. Aksi halde yeni kodunuz devreye girmez. Önbelleği temizlemenin birkaç yolu vardır.

    Komut satırından, dağıtım (deploy) betiğinizin sonuna eklenebilecek en temiz yöntem:

    # CLI'dan OPcache sıfırlamak, web sürecinin önbelleğini temizlemeyebilir;
    # en güvenilir yol PHP-FPM'i yeniden yükleyerek önbelleği düşürmektir:
    sudo systemctl reload php8.2-fpm
    

    Web sürecinin belleğini gerçekten temizlemek için bir web betiği kullanmak daha kesin sonuç verir. Kök dizine sadece deploy anında çalıştıracağınız korumalı bir dosya koyabilirsiniz:

    <?php
    // deploy sonrası bir kez çalıştırılıp SİLİNMELİDİR
    if (function_exists('opcache_reset')) {
        opcache_reset();
        echo 'OPcache temizlendi';
    } else {
        echo 'OPcache etkin değil';
    }
    

    Paylaşımlı hostingte validate_timestamps=0 genellikle önerilmez; çünkü FTP veya cPanel Dosya Yöneticisi ile dosya değiştirdiğinizde OPcache'i temizlemenin pratik bir yolu olmayabilir ve "değişikliğim neden görünmüyor?" sorunuyla boğuşursunuz. Bu ortamlar için validate_timestamps=1 ve makul bir revalidate_freq (örneğin 60) çok daha az sürprizle, hemen hemen aynı performansı verir. Kendi VDS sunucunuzu veya sunucu yönetimi hizmeti alarak yönettiğiniz bir ortamda ise deploy betiğinize önbellek temizlemeyi ekleyip validate_timestamps=0'ın tam performansından faydalanabilirsiniz.

    OPcache Performansını İzleme ve İnce Ayar#

    OPcache'i açtıktan sonra "yeterli bellek ayırdım mı, ayarlarım doğru mu?" sorusunu tahminle değil, ölçümle yanıtlamak gerekir. OPcache'in kendisi bunu değerlendirmeniz için istatistikler sunar. Bu istatistiklere hızlı bir bakış için geçici bir betik kullanabilirsiniz:

    <?php
    // Kontrol sonrası SİLİN
    $status = opcache_get_status(false);
    echo 'Kullanılan bellek: '
      . round($status['memory_usage']['used_memory'] / 1048576, 1) . ' MB' . PHP_EOL;
    echo 'Boş bellek: '
      . round($status['memory_usage']['free_memory'] / 1048576, 1) . ' MB' . PHP_EOL;
    echo 'İsabet oranı: '
      . round($status['opcache_statistics']['opcache_hit_rate'], 2) . '%' . PHP_EOL;
    echo 'Önbellekteki dosya: '
      . $status['opcache_statistics']['num_cached_scripts'] . PHP_EOL;
    

    Bakmanız gereken iki temel gösterge var. Birincisi isabet oranı (hit rate); sağlıklı bir üretim sitesinde bu değer genellikle %95'in üzerinde olmalıdır. Düşükse ya bellek yetersizdir ya da validate_timestamps sürekli yeniden derlemeye yol açacak kadar sık kontrol yapıyordur. İkincisi boş bellek ve önbellekten atılan dosya sayısıdır; OPcache belleği dolduğunda eski girdileri atar (oom_restarts veya hash_restarts artması bunun işaretidir). Bu durumda opcache.memory_consumption değerini yükseltmelisiniz.

    Bir pratik kural: num_cached_scripts değeri, opcache.max_accelerated_files sınırınıza yaklaşıyorsa bu sınırı yükseltin. Kullanılan bellek, ayırdığınız toplam belleğe çok yaklaşıyorsa memory_consumption'ı artırın. Ayarları körlemesine yükseltmek yerine bu iki sayıyı izleyerek gerçek ihtiyacınıza göre büyütmek, hem belleği israf etmez hem de "cache full" kaynaklı yavaşlamaları önler. Ölçüm ve ayarı birleştirdiğinizde OPcache, kur-unut kıvamında sorunsuz çalışan bir katmana dönüşür.

    Yaygın Sorunlar ve Çözümleri#

    OPcache genelde sessiz ve sorunsuz çalışır, ancak birkaç klasik tökezleme noktası vardır. En sık karşılaşılanı, kod değişikliğinin siteye yansımamasıdır. Bir dosyayı düzenlediniz ama tarayıcıda eski hali görünüyorsa, önce OPcache'i şüpheli olarak değerlendirin: validate_timestamps=0 ise önbelleği elle temizlemeniz gerekir; 1 ise revalidate_freq süresi kadar (örneğin 60 saniye) beklemeniz yeterlidir.

    İkinci yaygın durum "Cannot allocate memory" veya cache full uyarılarıdır. Bu, opcache.memory_consumption değerinin uygulamanız için küçük kaldığını gösterir; değeri artırıp PHP-FPM'i yeniden yükleyerek çözülür. Üçüncüsü, nadiren de olsa OPcache belleğinin bozulmasıdır (özellikle sunucu belleği baskı altındayken); bu tür durumlarda opcache_reset() ile önbelleği tazelemek geçici çözüm sağlar. Son olarak, geliştirme yaparken kafa karışıklığını önlemek için yerel/geliştirme ortamında validate_timestamps=1 ve revalidate_freq=0 kullanmak, her istekte değişikliği anında görmenizi sağlar; canlı ortamda ise bunun tersini yapıp performansı önceleyin.

    Sıkça Sorulan Sorular#

    OPcache'i açmak sitemi bozar mı?#

    Hayır, OPcache yalnızca derlenmiş kodu önbelleğe alır; kodunuzun davranışını değiştirmez, çıktısını bozmaz. Karşılaşabileceğiniz tek "sorun", bir dosyayı güncellediğinizde değişikliğin hemen görünmemesidir ki bu da validate_timestamps ayarı ve önbellek temizleme ile kolayca yönetilir. Doğru yapılandırıldığında OPcache üretim ortamları için tamamen güvenli ve önerilen bir ayardır.

    OPcache ile Redis aynı anda kullanılabilir mi?#

    Evet, hatta ideal kurulum tam olarak budur. OPcache derlenmiş PHP kodunu, Redis ise veritabanı sorgu sonuçlarını ve nesneleri önbelleğe aldığı için ikisi farklı katmanlarda çalışır ve birbiriyle çakışmaz. WordPress gibi bir uygulamada OPcache PHP'nin çalışma hızını, Redis tabanlı kalıcı nesne önbelleği ise veritabanı erişimini hızlandırır; birlikte kullanıldıklarında en iyi sonucu verirler.

    opcache.memory_consumption değerini ne kadar yapmalıyım?#

    Uygun değer sitenizin büyüklüğüne bağlıdır ancak WordPress için 128 MB alt sınır, orta ölçekli siteler için 192 MB, çok eklentili büyük siteler veya çoklu site barındıran hesaplar için 256 MB iyi başlangıç noktalarıdır. En doğru yaklaşım, opcache_get_status() ile kullanılan belleği izlemek ve ayrılan belleğin çoğu dolduğunda değeri kademeli olarak artırmaktır. Gereğinden fazla bellek ayırmak da kaynak israfı olacağı için ölçüme dayalı ilerlemek en sağlıklısıdır.

    Deploy sonrası OPcache'i temizlemem şart mı?#

    Bu tamamen validate_timestamps ayarınıza bağlıdır. Bu değer 1 ise OPcache dosya değişikliklerini kendisi fark edip günceller, elle temizlemeye gerek kalmaz; 0 ise OPcache dosyaları hiç kontrol etmediği için her kod güncellemesinden sonra opcache_reset() çağırmanız veya PHP-FPM'i yeniden yüklemeniz zorunludur. Aksi halde yeni kodunuz devreye girmez ve eski sürüm çalışmaya devam eder.

    Paylaşımlı hostingte OPcache'i kendim etkinleştirebilir miyim?#

    Çoğu paylaşımlı ve reseller hosting ortamında OPcache zaten sunucu genelinde açıktır; sizin yapmanız gereken tek şey cPanel MultiPHP INI Editor üzerinden bellek gibi birkaç ayarı düzenlemek olabilir. Açık değilse aynı araçtan opcache.enable=1 satırını ekleyerek etkinleştirebilirsiniz. Ayarların gerçekten uygulanıp uygulanmadığını phpinfo() çıktısındaki OPcache bölümünden kontrol etmeniz yeterlidir.

    OPcache açık olduğu halde site neden hâlâ yavaş?#

    OPcache yalnızca PHP kodunun derlenme yükünü ortadan kaldırır; yavaşlığın kaynağı başka bir katmandaysa tek başına yeterli olmaz. Örneğin ağır veritabanı sorguları, optimize edilmemiş görseller, dış API çağrıları veya yetersiz sunucu kaynakları da sayfayı yavaşlatır. Bu durumda OPcache'i nesne önbelleği, görsel optimizasyonu ve gerektiğinde daha güçlü bir barındırma planıyla birlikte ele almanız gerekir.

    Kapanış#

    OPcache, neredeyse hiç dezavantajı olmayan, açması dakikalar süren ama sunucu yükünüzü kalıcı biçimde düşüren nadir optimizasyonlardan biridir. Doğru bellek ayarı, uygun bir validate_timestamps politikası ve deploy sonrası temizleme alışkanlığıyla birlikte, PHP sitenizin hem hızını hem de aynı donanımla karşılayabileceği ziyaretçi sayısını belirgin biçimde artırır. En güzeli, bunun için tek satır kod değiştirmeniz gerekmemesidir.

    Bu ayarlarla uğraşmak istemiyor, OPcache ve önbellek yapılandırması sizin adınıza baştan doğru yapılsın istiyorsanız, web hosting planlarımız güncel PHP sürümleri ve hazır optimize edilmiş cPanel ortamıyla gelir. WordPress siteleri için özel olarak yapılandırılmış WordPress hosting paketimiz OPcache ve nesne önbelleği ayarlarını hazır sunarken, tam kontrol isteyen ekipler VDS sunucu veya sunucu yönetimi hizmetimizle bu ince ayarları uzman desteğiyle yapabilir.

    PHPPerformans

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.