Ücretsiz PHP derleyicileri. PHP derleyici nedir

  • 17.04.2019

Merhaba! Şimdi en çok uygulamaya çalışacağız basit kayıt ile sitede PHP kullanarak+ MySQL. Bunun için bilgisayarınızda Apache kurulu olmalıdır. Komut dosyamızın nasıl çalıştığı aşağıda gösterilmiştir.

1. Veritabanında users tablosu oluşturarak başlayalım.. Kullanıcı verilerini (giriş ve şifre) içerecektir. Gelelim phpmyadmin'e (eğer PC'nizde bir veritabanı oluşturuyorsanız http://localhost/phpmyadmin/). Tablo oluştur kullanıcılar, 3 alanı olacaktır.

içinde yaratıyorum mysql veritabanı, başka bir veritabanında oluşturabilirsiniz. Ardından, değerleri şekildeki gibi ayarlayın:

2. Bu tabloya bağlantı gereklidir. Bir dosya oluşturalım bd.php. Bu içerik:

$db = mysql_connect("MySQL sunucunuz","bu sunucuya giriş yapın","bu sunucuya şifre");
mysql_select_db ("bağlanılacak veritabanının adı", $db);
?>

Benim durumumda şöyle görünüyor:

$db = mysql_connect("localhost","user","1234");
mysql_select_db("mysql",$db);
?>

Kurtarırız bd.php.
Harika! Veritabanında bir tablomuz var, onunla bir bağlantımız var. Artık kullanıcıların verilerini bırakacakları bir sayfa oluşturmaya başlayabilirsiniz.

3. İçeriği olan bir reg.php dosyası oluşturun (içindeki tüm yorumlar):



Kayıt


Kayıt


















4. Bir dosya oluşturun, veri tabanına veri girecek ve kullanıcıyı kaydedecektir. save_user.php(içerideki yorumlar):



{
}
//Kullanıcı adı ve şifre girilirse, etiketlerin ve komut dosyalarının çalışmaması için bunları işliyoruz, insanların ne girebileceğini asla bilemezsiniz


// fazladan boşlukları kaldır
$giriş = kırp($giriş);
$şifre = kırp($şifre);
// veritabanına bağlan
// aynı girişe sahip bir kullanıcının varlığını kontrol edin
$result = mysql_query("NEREDEN kullanıcılardan ID SEÇİN login="$login"",$db);
if (!empty($myrow["id"])) (
exit("Üzgünüz, girdiğiniz kullanıcı adı zaten kayıtlı. Lütfen başka bir kullanıcı adı girin.");
}
// yoksa, verileri kaydedin
$result2 = mysql_query ("INSERT INTO users (login, password) VALUES("$login","$password")");
// Hata olup olmadığını kontrol edin
if ($sonuç2=="DOĞRU")
{
echo "Başarıyla kayıt oldunuz! Artık siteye giriş yapabilirsiniz. Ana sayfa";
}
başka(
echo "Hata! Giriş yapmadınız.";
}
?>

5. Artık kullanıcılarımız kayıt olabilir! Ardından, zaten kayıtlı kullanıcılar için siteye girmek için bir "kapı" yapmanız gerekir. index.php(içerideki yorumlar):

// tüm prosedür oturumlar üzerinde çalışır. Sitedeyken kullanıcının verilerinin depolandığı yer burasıdır. Bunları sayfanın en başında başlatmak çok önemlidir!!!
oturum_başlangıç();
?>


<a href="https://rzdoro.ru/tr/network/ekran-touchwiz-ili-uproshchennaya-domashnyaya-stranica-glavnye-dostoinstva-obolochki.html">Ana Sayfa</a>


Ana Sayfa











Kayıt ol



// Oturum açma ve kullanıcı kimliği değişkenlerinin boş olup olmadığını kontrol edin
if (empty($_SESSION["giriş"]) veya boş($_SESSION["id"]))
{
// Boş ise bağlantıyı göstermiyoruz
echo "Misafir olarak giriş yaptınız
Bu bağlantı yalnızca kayıtlı kullanıcılar tarafından kullanılabilir";
}
başka
{

Dosyada index.php sadece kayıtlı kullanıcılara açık olacak bir bağlantı görüntüleyeceğiz. Bu betiğin tüm amacı - herhangi bir veriye erişimi kısıtlamak.

6. Girilen kullanıcı adı ve şifrenin doğrulandığı bir dosya var. testreg.php (içerideki yorumlar):

session_start();// tüm prosedür oturumlar üzerinde çalışır. Sitedeyken kullanıcının verilerinin depolandığı yer burasıdır. Bunları sayfanın en başında başlatmak çok önemlidir!!!
if (isset($_POST["login"])) ( $login = $_POST["login"]; if ($login == "") ( unset($login);) ) // kullanıcı $login değişkenine girer, eğer boşsa değişkeni yok ederiz
if (isset($_POST["şifre"])) ( $şifre=$_POST["şifre"]; if ($şifre =="") ( unset($şifre);) )
//kullanıcı tarafından girilen parolayı $password değişkenine koyun, eğer boşsa değişkeni yok edin
if (empty($login) veya empty($password)) //kullanıcı bir giriş veya şifre girmediyse, bir hata verir ve betiği durdururuz
{
exit("Tüm bilgileri girmediniz, geri dönün ve tüm alanları doldurun!");
}
//Kullanıcı adı ve şifre girilirse, etiketlerin ve komut dosyalarının çalışmaması için bunları işliyoruz, insanların ne girebileceğini asla bilemezsiniz
$giriş = eğik çizgi($giriş);
$giriş = htmlspecialchars($giriş);
$şifre = eğik çizgi($şifre);
$şifre = htmlözel karakterler($şifre);
// fazladan boşlukları kaldır
$giriş = kırp($giriş);
$şifre = kırp($şifre);
// veritabanına bağlan
include("bd.php");// bd.php dosyası herkesle aynı klasörde olmalı, değilse yolu değiştirin

$result = mysql_query("SEÇ * KULLANICILARDAN NEREDE login="$login"",$db); // veri tabanından girilen oturum açma ile kullanıcı hakkındaki tüm verileri al
$myrow = mysql_fetch_array($sonuç);
if (boş($myrow["şifre"]))
{
// girilen girişe sahip kullanıcı yoksa
}
başka(
//varsa, şifreleri kontrol edin
if ($myrow["şifre"]==$şifre) (
//Şifreler eşleşirse, kullanıcı için oturumu başlatırız! Onu tebrik edebilirsiniz, girdi!
$_SESSION["giriş"]=$myrow["giriş"];
$_SESSION["id"]=$myrow["id"];//bu veriler çok sık kullanılır, bu nedenle oturum açmış kullanıcı bunları "taşıyacaktır"
echo "Siteye başarıyla giriş yaptınız! Ana sayfa";
}
başka(
// şifreler uyuşmuyorsa

Exit("Üzgünüz, girdiğiniz kullanıcı adı veya şifre yanlış.");
}
}
?>

Tamam şimdi her şey bitti! Belki ders sıkıcı ama çok faydalı. Burada yalnızca kayıt fikri gösterilir, daha da geliştirebilirsiniz: koruma, tasarım, veri alanları ekleyin, avatarları yükleyin, hesaptan çıkış yapın (bunun için, işlevle oturumdaki değişkenleri yok edin ayarsız) ve benzeri. İyi şanlar!

Her şeyi kontrol ettim, iyi çalışıyor!

Burada sunulan tüm ücretsiz PHP derleyicileri, PHP komut dosyalarını yeniden derleyebilir. makine kodu, özel bir PHP yorumlayıcısı indirmeden veya bunları bir bayt kodu komut satırı arayüzünde derlemeden bir bilgisayarda çalışabilen (kurulum için NET veya Mono çerçevesi veya Java bayt kodu gerektirir (sanal bir java makinesi Kurulum için)).

Bu tür derleyiciler çeşitli amaçlar için yararlı olabilir: artık çalışma zamanında yorumlanmadıkları için betiğinizin daha hızlı çalışmasını sağlayabilirler; veya onlar sayesinde (diğer ticari scriptlerin gerektirdiği) kaynak kodunu ifşa etmeden uygulamalarınızı dağıtabilirsiniz. İnternet bağımlılığı yazmak isteyenler için de uygun olduklarını varsayıyorum. PHP programları ve bunları masaüstü işlevselliği ile dağıtın (bir sunucu üzerinde çalışan normal web uygulamalarının aksine), tüm bunlar PHP'nin öğrenmesi kolay bir programlama dili olması ve temelde İnternet erişimi olan birçok yerleşik işlevi içermesi nedeniyle mümkündür. (Bu durumda, uygulamaları gömülü bir web sunucusuyla dağıtmanız veya sunucuyu uygulamanızda derleyen bir derleyici kullanmanız gerekir.)

Bu arada, kodunuzda şaşırtmaca kullanmak istiyorsanız, bunun aynı zamanda şunu kullanarak da mümkün olduğunu bilmelisiniz. PHP hızlandırıcı . Bu hızlandırıcıların ayrıca komut dosyası yürütmenizi hızlandırması gerekiyor.

Ne olduğunu bilmeyenler için faydalı bilgiler Resmi sürüm PHP tercümanı PHP web sitesinden indirilebilir: Köprü Metni İşlemcisi.

Yerel kod, .NET veya Java bayt kodu komut dosyaları yazmak için ücretsiz PHP derleyicileri.

Bambalam (yeni)

Bu program bağımsız üretir Windows Uygulamaları PHP kaynak kodunuz için EXE. Tam olarak bir derleyici değil yerel kod, sadece kodladığı için kaynak ve bir PHP yorumlayıcısı yerleştirir, ancak bu program kesinlikle yerel ve bayt kodu için derleyiciler arayan kişiler içindir. Tüm program yazıldığında, yürütme ortamı yerleşikti. PHP sürümü 4.4.4 (program 2006'dan beri güncellenmemiştir). Bambalam'ın kaynak kodu kamu malıdır.

Falanger (.NET için)

Phalanger, PHP kodunuzu CLI bayt koduna (.exe veya .dll) derler. Bu program, .NET 4.0 veya Mono çerçeveleri aracılığıyla çalıştırılabilir. PHP kodunuz herhangi bir .NET nesnesini ve standardın ek kitaplıklarını kullanabilir. PHP uzantıları. Ortaya çıkan NET derlemesi imzalanabilir veya gizlenebilir. Bu program oluşturmanıza izin veren şablonlar da üretir. PHP uygulamalarıİle birlikte Görsel kullanma stüdyo. Program Apache lisansı altında yayınlanmıştır.

PHP için HipHop (yerel kod için)

HipHop, PHP kodunuzu daha sonra GNU C++ derleyicisi kullanılarak bir yürütülebilir dosyaya derlenen C++ koduna çevirir. ikili kod. Derleyici, PHP 5.3'ün tüm özelliklerini destekler (elbette değerlendir()). 64 bit için kod çalışır ve derler Linux sürümleri ve FreeBSD. Program kaynak kod şeklinde dağıtıldığı için manuel olarak (kendiniz) derlemeniz gerekecektir. PHP Lisansı altında yayınlandı.

Roadsend PHP (yerel kod için).

Roadsend PHP derleyicisi, Windows ve Linux için yerel ikili dosyalar (yürütülebilir dosyalar) üretir. Komut dosyalarınız konsol programlarıyla (komut satırları) sınırlı değildir: yerleşik web sunucuları ile oluşturulabilirler ve elbette sizinki de olsa bir web sitesinde çalıştıkları şekilde çalışmalarına izin verirler. kullanıcı sistemi. Derleyici GNU GPL altında yayınlanır ve GNU LGPL altında çalışır. Ne yazık ki, program aktif gelişimini durdurdu.

Sıfır Projesi (Java için)

(Not: bu görünüyor yazılım artık yoktur. Siteye yarım yıldır ulaşılamıyor.) Project Zero, PHP kodunuzu Java bayt kodunda derleyip çalıştırabilen bir derleyici ve CLR içerir. Project Zero'nun yalnızca bir PHP derleyicisinden/çalışma zamanından daha fazlası olduğunu unutmayın; PHP veya Groovy (başka bir betik dili) kullanarak web uygulamalarını geliştirmenize izin veren olgun bir çerçevedir. Bu derleyici Windows, Mac OS X ve Linux için kullanılabilir. Bu derleyici ile çalışmak için Java'yı indirmeniz gerekir. geliştirme kiti.

Hangi derleyiciyi tercih edersiniz? Yoksa başka bir favori tercümanınız var mı? Yorumlarınızı ve yorumlarınızı aşağıya bırakın, onları memnuniyetle okuyacağız ve saracağız.

Etiketler: PHP derleyicileri, komut dosyası çevirisi

Hemen hemen tüm geliştiriciler er ya da geç bazı kodları çalıştırma veya hızlı bir şekilde kontrol etme ihtiyacıyla karşı karşıya kalırlar, ancak herkes bu kadar basit bir görev için ağır masaüstü IDE'lerini veya uygulama derleyicilerini çalıştırmanın hiç gerekli olmadığını bilmiyor. Her şeyi çok daha hızlı yapmanızı sağlayan çevrimiçi araçları kullanmak yeterlidir: Ctrl + C, Ctrl + V, Çalıştır, whoop - ve programın çıktısı zaten kırmızımsı gözlerinizin önünde.

En iyi çevrimiçi derleyicileri seçtik: bazıları oldukça evrenseldir, bazıları ise kesin olarak tanımlanmış görevler için uyarlanmıştır. Her durumda, gereksiz olmayacaklar.

kodlama

Koding.com, bilinen anlamda bir çevrimiçi derleyici değildir. Hizmetin her kullanıcısı birkaç tam teşekküllü oluşturabilir Sanal makineler altında Ubuntu'yu çalıştırmak 14.04, kodu derlemek de dahil olmak üzere istediğini yapabilir. Herşey popüler diller varsayılan olarak desteklenir, ancak kendinizinkini kolayca ekleyebilirsiniz.

Sunucunuz için kontrol paneline ek olarak, arayüzde kullanışlı bir IDE ve bir terminal penceresi mevcuttur. Kodlama en çok yönlü araçtır, bundan sonra daha basit ve daha özel seçeneklere bakacağız.

IdeOne

IdeOne, 60'tan fazla programlama dilinde ve bunların belirli sürümlerinde doğrudan tarayıcıda kod çalıştırmanıza izin veren çevrimiçi bir derleyici ve hata ayıklama aracıdır.

Kız arkadaşı olmayanlar için yaratıcılar Brainfuck dilinde bir kod derlemesi sağladı.

JDoodle

Diğer birçok çevrimiçi derleyicide bulamayacağınız diller de dahil olmak üzere birçok dili destekleyen başka bir çevrimiçi derleyici. JDoodle'ın güzel bir özelliği, ortak çalışma- sadece bir bağlantı gönderin geçerli oturum ve böcekleri iki katına çıkar!

jsFiddle

Adının sizi aldatmasına izin vermeyin - jsFiddle yalnızca JavaScript için değildir. Bu ön uç çevrimiçi düzenleyici, herhangi bir JavaScript, HTML ve CSS kombinasyonunu kontrol etmenizi sağlar. Elbette jQuery, Vue, React, TypeScript gibi çeşitli çerçeveler ve SCSS gibi CSS ön işlemcileri için destek var. Kolaylık sağlamak için favori düzenleyicinizden bir tuş takımı seçebilirsiniz. Doğru, yalnızca favori düzenleyiciniz Vim, Emacs veya Sublime Text ise.

kod takımı

CodePad, kodu depolayabileceğiniz, paylaşabileceğiniz ve yürütme sonuçlarının sonraki çıktılarıyla çalıştırabileceğiniz minimalist bir hizmettir. Aralarından seçim yapabileceğiniz en yaygın birkaç dil vardır, ancak ne yazık ki, belirli tercüman veya derleyici sürümleri seçeneği yoktur.

Başlıca avantajı basitlik ve kolaylıktır: site, yavaş internet. Standart başlıkların otomatik bağlantısının yanı sıra Vim veya Emacs ile entegrasyon sağlanır.

Eksileri çağrılabilir tam yokluk bir forma kod girerken sözdizimi vurgulama. Ancak, önceden kaydedilmiş bir kaydı görüntülerken arka ışık mevcuttur.

GCC Tanrı Cıvatası

GCC GodBolt etkileşimli bir C++ dil derleyicisidir. Bu koleksiyona basit bir arayüze sahip olduğu için girdim. çok sayıda tuşlarla ayarlanan seçenekler de dahil olmak üzere ayarlar.

En yenileri de dahil olmak üzere aralarından seçim yapabileceğiniz birçok derleyici sürümü vardır. İtibaren ilginç özellikler program kodunun anında montaj diline çevrildiğini not edebiliriz.

PHP'yi kaynaktan derlemek daha çok Unix benzeri sistemlerde yapılır. Windows işletim sistemi ortamında çalışanlar büyük olasılıkla PHP'yi ikili paketlerden indirip kuracaktır. Ve önceden derlenmiş bir çözümü kullanmanın daha kolay olduğu konusunda hemfikir olmasam da, Unix sistemleri Kaynaktan ikili derleme ile gelebilecek bazı avantajlar vardır. Neticede:

  • bir şansın var ince ayar son ürün derleme yaparken. belki istersin belirli uzantı harici bir kitaplık olarak yüklemek yerine doğrudan ikili olarak derlenir. Veya genellikle varsayılan olarak bulunan bir özellik olan bir şeyi kapatmak isteyebilirsiniz.
  • Gerekirse, derleme sırasında belirli ortamınız için performansı artırabilecek hileler yapabilirsiniz (elbette bu, bu durumda ne yaptığınızı zaten bildiğinizi varsayar. bu makaleyi okumazsın !).
  • Derleme olabilir tek yol derlenmişse işlerin çalışmasını sağlayın ikili dosyalar yazılım ve kitaplık desteği ile eski sürümler üzerine kurulmuştur ve şimdi yeni bir sistem üzerinde çalışıyorsunuz.

Uyarı: derleme, özellikle Windows'ta sinir bozucu olabilir! Derleme ortamının doğru bir şekilde kurulduğundan emin olmalı, derleyiciyi ve diğer derleme araçlarını nasıl doğru şekilde kullanacağınızı öğrenmeli ve tüm kitaplık bağımlılıklarını karşılamalısınız. Umarız bu makale, bu engellerin birçoğunun üstesinden gelmek için ilk adımınız olur.

Yapı ortamını ayarlama

PHP C ile yazılmıştır ve bu nedenle kaynaktan PHP oluşturacaksanız bir C derleyicisi gerekir. C++, C'nin bir üst kümesidir, bu nedenle iyi bir C++ derleyicisi C kodunu derleyebilmelidir ve bu her zaman böyle olmasa da. Windows için Visual Microsoft, C++ Express (daha sonra VC++ olarak adlandırılacaktır) Microsoft web sitesinde ücretsiz olarak mevcuttur. 2010 baskısı kullanıldı.

Bir derleyici sürümü seçerken, altında nasıl çalışacağınızı aklınızda bulundurmalısınız. PHP kontrolü. Mod_php ile resmi olarak derlenmiş apache ikili dosyaları ile çalışmak zorundaysanız ve kullanarak php'yi derlemek istiyorsanız görsel stüdyo 6, çünkü bu Apache derleme sürümüdür. Modül, Apache ile aynı çalışma zamanı kitaplığını hedeflemelidir, bu durumda msvcrt.dll . Apache'yi de kaynaktan oluşturuyorsanız veya PHP'yi FastCGI veya CLI olarak çalıştıracaksanız, bu bir sorun değildir ve 2010 gayet iyi çalışacaktır.

Yazılımı da yüklemelisiniz Windows yazılımı Geliştirme Kiti (sonra SDK). SDK bize önemli dosyalar için başlıklar Windows platformları Başarılı bir derleme için ihtiyacımız olan . Bu da sürüm 7.1 kullanıldı.

Derleyiciyi ve ardından SDK'yı yükleyin. Her ikisinde de tüm süreç boyunca size rehberlik edecek bir grafik kurulum sihirbazı olduğu için kurulumdan bahsetmeyeceğim.

Çalışan bir derleyici derlemeniz olduğunda, ikili araçları ve bilinen paketleri windows.php.net adresinden indirin. İkili araçlar paketi (20110915 arşivini kullanıyorum) re2c, bizon ve bazıları gibi geliştirme araçlarını içerir. ek komutlar, PHP oluşturmanız gerekecek. Bilinen paket (derleyeceğim PHP sürümüyle eşleştiği için 5.4 arşivini kullanıyorum) gereken minimum üstbilgileri ve zlib.h gibi kitaplık bağımlılıklarını içerir.

Muhtemelen PHP kaynağını windows.php.net adresinden de indirmek istediğinizi söylemeye gerek yok. Bu yazı yazılırken, Şimdiki versiyonu PHP 5.4.6, bu nedenle örneklerde bu sürüm numarasını göreceksiniz.

BT iyi bir fikir, yaratmak çalışma alanı, kaynak kodunu paketinden çıkarabilir ve sisteminizin geri kalanını etkilemeyecek şekilde derleyebilirsiniz. Çalışma dizininiz olarak hizmet edecek bir C:\PHP-Dev klasörü oluşturun ve ardından sıkıştırmasını açın ikili arşiv ve araçlar.

Ardından, C:\PHP-Dev'deki PHP kaynağı olan arşivin içeriğini çıkarın, artık kaynak klasörde php5.4 var ve ardından deps arşivini deps kardeş klasörüne çıkartın. Dizin yapısı şöyle görünmelidir:

SDK ile birlikte yüklenen Windows SDK Komut İstemini açın (Başlat => Microsoft Windows SDK => Windows SDK Komut İstemi) ve aşağıdaki komutları çalıştırın:

Setenv /release /xp /x86 cd C:\PHP-Dev bin\phpsdk_setvars.bat

Çok fazla ayar yaptığı için tercihen normal cmd.exe konsolundan önce komut satırı konsolu SDK'sını kullanmak Ortam Değişkenleri, kaynak kodunu derlemeye özel. Daha sonra komut derlemeleri de bu konsolda yapılmalıdır.

setenv, ortam için bazı yapı özelliklerini ayarlar. bu durum Derlemenin hedef Windows XP 32 bit sürümünün ortamı yüklenir. Macera arıyorsanız /x64 ile deneyebilir ve inşa edebilirsiniz. çeşitli tanımı Windows sürümleri/Vista gibi, büyük olasılıkla komut dosyalarındaki bazı garip tanımlar nedeniyle çıkış sorunları (PHP hala XP uyumlu olmak istiyor). Ne yaptığınızı gerçekten bilmiyorsanız, yukarıda kullandığım önerilen değerlere bağlı kalmak muhtemelen en güvenlisidir.

Bazı ek ortam değişkenleri için phpsdk_setvars.bat betiği çıkar, derleme işlemi ikili araçları bulabildi.

Tüm bu ayar değişkenlerinin konsolda yalnızca geçici oturumlar olduğunu unutmayın. Daha sonra derlemeye geri dönmek için her şeyi hızlı bir şekilde kapatırsanız, komutu tekrar çalıştırmanız gerekecek ve aksi takdirde aşağıdaki gibi hatalar alacaksınız, daha sonra yapılandırmayı çalıştırdığınızda devam edemezsiniz:

bison.exe denetleniyor... HATA: bizon gerekli

Doğru yapı ortamına, gerekli kaynaklara sahip olduğunuzdan ve hiçbir bağımlılığa sahip olmadığınızdan emin olmak, sürecin en zor kısmıdır. Artık ortamınız kaynaktan kurulduğuna ve bağımlılıklar yerinde olduğuna göre, derleme zamanı!

PHP'yi Derlemek

AT Komut satırı SDK, PHP kaynak klasörüne gidin ve buildconf'u çalıştırın. Ekip üretmekten sorumludur. yapılandırma dosyaları Derleme sürecini kontrol etmek için Makefile tarafından oluşturulacak olan .

buildconf tamamlandıktan sonra (yalnızca bir saniye sürer), configure --help - komutunu çalıştırın ve hangi özellikleri etkinleştirmek/devre dışı bırakmak istediğinize ilişkin yardımı inceleyin, ardından istediğiniz seçenekle yeniden yapılandırmayı (ayarlar) çalıştırın. Gitmeden önce çıktıyı kontrol etmek iyi bir fikirdir, çünkü gerekli bağımlılıklardan herhangi biri mevcut değilse sizi uyaracaktır. Bu olursa, bağımlılıkları yükleyebilir ve kurulumu yeniden çalıştırabilir veya çağrıyı, bunlara ihtiyaç duyan uzantıları devre dışı bırakacak şekilde ayarlayabilirsiniz.

Son olarak, derlemeye başlamak için NMAKE'i çalıştırın.

Cd C:\PHP-Dev\php5.4 buildconf yapılandırmak nmake nmake testi

Yapılandırma veya NMAKE başarısız olursa, sorun ikisinden biridir: Birincisi, ortam doğru kurulmamış, ikincisi, dış kitaplıklara bağlı bir özelliği etkinleştirmişsiniz ve kitaplıklar sisteminizde yüklü değil. Ortamı yukarıda belirtildiği gibi oluşturduğunuzu ve temel yapılandırma ayarlarında gerekli olabilecek ek kitaplıkların ayarlandığını iki kez kontrol edin.

İlk NMAKE derleme işlemi tamamlandığında yepyeni ürününüzü bulacaksınız. PHP dosyaları Release_TS klasöründe. NMAKE testi, her şeyin olması gerektiği gibi çalıştığından emin olmak için yeni çift kapasitans hata testleri çalıştırır. NMAKE testlerinin sonuçları, PHP'yi geliştirmelerine bağlı olan QA ekibine gönderilir, bu nedenle çalışması birkaç dakika sürebilir, bu sorumlu bir konudur.

Bu noktada isteğe bağlı NMAKE ek bileşeni adımını da kullanabilirsiniz. ZIP arşivleri ve kopyalayabileceğiniz ikili dosyalar.

Derleme uzantıları

PHP uzantılarını derlemenin iki yolu vardır: statik ve dinamik olarak. Statik olarak derlenmiş bir uzantı bir PHP ikili dosyasında derlenirken, dinamik olarak derlenmiş bir uzantı daha sonra php.ini dosyası aracılığıyla yüklenebilen ayrı bir DLL dosyasıdır. Uzantılar genellikle DLL'nin durumundan derlenir, ancak statik derlemenin de bazı faydaları olsa da, sonuçta ihtiyaçlarınıza bağlıdır.

PHP uzantılarını Windows'ta derlemek için uzantı kaynak kodu klasörünü PHP kaynak dizininizdeki ext klasörüne çıkarın. Ardından, buildconf --force komutunu çalıştırarak ve uzantıyı etkinleştirmek için uygun yan tümceleri kullanarak PHP'yi yeniden derleyerek komut dosyasını yeniden yapılandırın.

Örnek olarak, bir AOP uzantısını statik olarak derleyelim. Kaynak kodunu PECL'den indirin ve ext içindeki bir klasöre çıkarın. Ardından şunları yapın:

Cd C:\PHP-Dev\php5.4 buildconf --force configuration --enable-aop nmake

--force seçeneğiyle, buildconf onu yapılandırma komut dosyasını geri yüklemeye zorlar. Ardından, configure --help komutunu çalıştırın ve çıktıya yeni uzantıyı dahil etmek için bir seçenek görmelisiniz. Bu durumda, --enable-AOP olur.

nmake bittiğinde, AOP ile yeni oluşturulmuş bir PHP ikili dosyasına ihtiyacınız olacak.

Uzantılar PHP'de hazır değil, DLL olarak mevcut olacak, yukarıdakiyle aynı adımları takip edebilirsiniz, ancak yapılandırılacak değer olarak "paylaşılan" (paylaşılan) belirtmek bu seçeneğe izin verir.

Buildconf --force configuration --enable-aop=paylaşılan

Sonuç olarak DLL, ikili dosyayla birlikte Release_TS klasöründe olacaktır. PHP derlemesi sona erecek, bu durumda isim php_aop.dll'dir.

not

Windows'ta derleme yapmak, özellikle de uzantı söz konusu olduğunda, hala biraz zor. Kaynak kodu derleyebilmek, özellikle daha sonra PHP'yi değiştirmek istiyorsanız, iyi bir beceridir.

Yazı site ekibi tarafından sizler için hazırlanmıştır.
Orijinal makale:
Çeviren: Viktor Klim