Windows için PHP vs Linux, Mac gibi aynı mı?

7 Cevap

Ben Windows ve Apache üzerinde PHP (Eğer bu konularda php5) yazarsanız başka bir işletim sistemi ve Apache üzerinde PHP yazma gibi aynı mı? Ben dosya yolları gibi şeyler demek istemiyorum. Teşekkür ederim.

7 Cevap

Çoğunlukla, ancak dışarı izlemek için bir kaç şey var:

  • * Nix sistemleri altında yol isimleri harf duyarlı Windows altında, değildir.
  • * Nix sistemleri altında, yol ayırıcı /. Windows altında bu \, ancak PHP / otomatik olarak çevirir. DIRECTORY_SEPARATOR sabit veya her zaman kullanmaz ya /.
  • * Nix sistemleri altında, yol kastetmek şema farklı. Bir sürücü harfi olarak böyle bir şey yoktur. Montaj noktaları yerine vardır.
  • * Nix sistemleri altında, dosya izinleri, Windows, varsayılan olarak daha sıkıdır.
  • Bazı işlevler Windows altında bulunmayan veya farklı davranır. Bu düşük seviyeli fonksiyonları (hafıza durumu, sistem durumu) için çoğunlukla. PHP belgelerine bakın.
  • Eğer exec() veya herhangi bir diğer benzeri işlevini kullanıyorsanız, komutları aynı olmayacak. Sistem belgelerine bakın.

Apache hakkında:

Bir sunucu noktada bazı kırılmaların isabet olabilecek bir modül olarak PHP kullanır ve diğer bir fcgi aracılığıyla kullanır. İki Apache aynı şekilde aynı şekilde davranacaktır yapılandırılır.

Bu madde PHP sadece bir dil olduğunu verilmiş olmamalıdır. Nereye giderseniz gidin aynı olmalıdır.

Evet ... Kurma biraz farklı olabilir ama bir komut dosyası dili olarak kullanımı aynı olabilir.

Orada diğer kullanıcıların belirtildiği gibi bazı farklılıklar (I won't repeat those, there are already great answers ; the most annoying point is case-insensivity in files names under windows, IMHO),, böylece üretimde size siteyi dağıtmak için bir Linux sunucu kullanıyorsanız, bu arada bir Linux üzerinde test etmek yararlı olabilir.

Eğer makineye Linux kurmak ve yeterince güçlü bir bilgisayara sahip olmak istemiyorsanız, bu yazılımı biri (hem de bir sanal makine kullanabilirsiniz (en az 2 çekirdek ve 2 GB RAM, derim) ) ücretsiz:

Ayrıca Linux hakkında bazı temel bilgileri öğrenmek yardım edeceğiz - professionnally PHP geliştirme yapmayı planlıyorsanız bilmek kötü bir şey değil ki, PHP webserverlarda geldiğinde Linux çok daha fazla kullanılan Windows, daha olduğu gibi.

Ben sadece kopyalama ve başka benim cevap yapıştırarak kulüpler gibi, topluluk wiki olarak işaretlemek için gidiyorum very similar thread:

Neredeyse, ama oldukça. Sizin için izlemek zorunda şeylerin bir çift vardır.

1) Dosya adları: Windows harf duyarsız bir işletim sistemidir. Bir dosyayı foo.php oluşturursanız, include('Foo.php') VEYA include('foo.php') kullanarak ekleyebilirsiniz. Linux / Unix için proje taşıdığınızda size doğru davayı yoksa, bu kıracak.

Bu entegre OS işlevselliğini kullanır şey söz konusu olduğunda genellikle 2) bazı dil-belirli bir platform farklılıklar vardır. Bunlar nadiren gelip, ama zaman zaman onları çalıştırmak olabilir. Örneğin, checkdnsrr() function sürüm 5.3.0 kadar Windows PHP yoktu.

3) yükler. Linux / Unix için olsun PHP paketleri çok yaygın bir varsayılan dahil ne Windows göre yükleyebilirsiniz. Sen sadece derlenen tüm gerekli kütüphaneleri / katma olduğundan emin olmak için ters platformu geliştirme kutusunda üzerinde app test için emin olmak gerekir, ya da bir başka normal görünümlü app bazı güzel ölümcül hatalar alırsınız.

Doğru cevap: "değişir".

Çoğunlukla PHP herhangi bir işletim sistemi üzerinde aynı çalışmaz. Epeyce uyarılar genellikle sadece düz pencereler işe yaramazsa işlevleri vardır, ama vardır. (Örn. getrusage ()). PHP için bulma pencereler kütüphaneler, bazen de oldukça zor, pecl4win ölümünden (tüm PECL kütüphanelerin pencere derlemesini içeren bir site) beri. Bu APC (Alternative PHP Cache) tamamen bir angarya gibi şeyler ekleyerek yapar.

O dedi, PHP kılavuzu sıra pencerelerde ne işe yaramazsa konusunda belgelenmiştir.