Nasıl PHP desteği ve Windows üzerinde MySQL sunucusu ile Apache kurarım olmadan WAMPServer veya XAMPP gibi herhangi hazır kullanımlı paketler kullanan?
Nasıl PHP desteği ve Windows üzerinde MySQL sunucusu ile Apache kurarım olmadan WAMPServer veya XAMPP gibi herhangi hazır kullanımlı paketler kullanan?
Yanıtlar:
Öncelikle, Windows için Apache Platformuna Özel Notlarını okumanızı öneririm - bu, diğer işletim sistemlerinde bulunmayan ve muhtemelen daha önce hiç kullanmadığınız bir hizmet olarak çalışmak gibi Windows'a özgü bazı özellikleri açıklar.
Bu platforma özel notlarda bahsedildiği gibi, Apache Windows için ikili dosyalar sağlamamaktadır, ancak ikili dosyalar sağlayan birkaç üçüncü taraf siteye, örneğin Apache Lounge'a bağlantıları bulunmaktadır .
Bu web sitesinden 32-bit sürümünü (win32) veya 64-Bit sürümünü (Win64) indirebiliriz - işletim sisteminiz 64-Bit ise, daima 64-Bit yazılım sürümünü yüklemeyi denemelisiniz, ancak not edin 64-bit modülleri de kullanmanız gerekir, yani yalnızca 32-bit bir modülünüz varsa 32-bit Apache'yi indirin.
İşte bunu yazarken kullandığım sürüm: Apache 2.4.10 Win64 . Bu cevap en son güncellendiğinde en son versiyon: Apache 2.4.38 Win64 (gönderinin altındaki düzenleme tarihine bakın).
Bir kere indirildikten sonra, Apache24
klasörü sabit sürücünüzün kök dizinine çıkartın , böylelikle böyle bir yolunuz olur C:\Apache24\bin
.
Bir komut satırı penceresi açın (Windows + R ve cmd
ardından Enter tuşuna basın), dizini değiştirin C:\Apache24\bin
ve çalıştırın httpd.exe
, normalde herhangi bir hata yazdırmaz.
MSVCR110.dll
Sisteminizde eksik olduğunu belirten bir hata mesajı alırsanız , Visual Studio 2012 için Visual C ++ Yeniden Dağıtılabilir Kodunu yüklemeniz gerekir - istendiğinde her zaman olduğu gibi uygun bit sürümünü seçin: vcredist_x86.exe
32 Bit sistemler için ve vcredist_x64.exe
64 -Bit olanlar.
80 numaralı bağlantı noktasına bağlanamadığını söyleyen bir hata alırsanız, başka bir uygulamanın bu bağlantı noktasını kullanıp kullanmadığını kontrol edin; ayrıca Skype'ın varsayılan olarak 80 ve 443 numaralı bağlantı noktalarını kullandığı biliniyor; Gelişmiş bağlantı ayarlarında "80 ve 443 numaralı bağlantı noktalarını gelen bağlantıların alternatifi olarak kullan" seçeneğinin işaretini kaldırın , değişiklikleri uygulamak için Skype'ı yeniden başlatın ve ardından Apache'yi sorunsuz şekilde açabilmelisiniz.
Could not reliably determine the server's fully qualified domain name
Şimdilik bir uyarı göz ardı edilebilir.
Windows Güvenlik Duvarı, Apache'nin belirli ağlarda iletişim kurmasına izin vermenizi isteyebilir, varsayılan ayarları kullanmanızı öneririz: ev ve iş ağlarında izin verin, ancak genel / güvenilmeyen ağlarda değil.
Ardından, bir tarayıcı açın ve http://localhost
bir sayfaya bakın It works !
ve Apache kurulumunuzun çalıştığı anlamına gelir.
Komut isteminde Ctrl + C tuşlarına basarak şu anda çalışan Apache'yi durdurabilirsiniz.
Sistemin tam etki alanı adını belirleyemediğiniz konusunda bir uyarı aldıysanız C:\Apache24\conf\httpd.conf
, ServerName
değişkeni düzenleyerek ve düzenleyerek düzeltin (bir yorumda zaten bulunmalıdır, sadece uncomment ve değiştirin):
ServerName <yourhostname>
Değiştir <yourhostname>
sistem konak ismi veya ikisinden biri ile localhost
.
Son olarak, sistem başladığında sunucuyu otomatik olarak çalıştırmak istiyorsanız (kimse giriş yapmasa bile), bir servis olarak çalıştırmanız gerekir - yeni bir yükseltilmiş (yönetici olarak) komut isteminde şunu yazın:
httpd.exe -k install
İşte bu, şimdi Hizmetler’de yeni bir hizmetiniz var (Windows + R sonra "services.msc" yazıp Enter tuşuna basın) "Apache2.4" adlı bir Windows hizmetinde olduğu gibi kontrol edebilirsiniz.
localhost
sadece kısıtlama - isteğe bağlıBunu geliştirme amaçları için kuruyorsanız, erişebilmeniz dışında kimsenin erişemeyeceğinden emin olmak istiyorsanız, güvenlik duvarınızın bunu çoktan halletmesi gerekir ancak, Apache'ye yerelden istekleri kabul etmesini söyleyerek başka bir güvenlik katmanı ekleyelim. sadece makine.
Apache'nin yapılandırma dosyasını açın C:\Apache24\conf\httpd.conf
, varsayılan dizin bloğunu arayın <Directory "c:/Apache24/htdocs">
.
Sonunda, bir satır olması gerekir Require all granted
, bu, herhangi birinin bu sunucuya erişebileceği anlamına gelir. Require local
Sadece yerel makineden erişime izin veren şeyi yapalım .
Ayrıca, Apache'ye yalnızca geridöngü arabirimine bağlanmasını söyleyebilirsiniz, bu şekilde hem güvenlik duvarınız hem de yukarıda belirtilen erişim denetimi yönergeleri başarısız olsa da, sunucu hala tüm internete açık olmayacaktır.
Bunun için Listen
yönergeyi bulun (varsayılan olarak ayarlanmıştır 80
) ve aşağıdakine değiştirin:
Listen 127.0.0.1:80
Listen [::1]:80
İlk satır kendi kendini açıklayıcı, ikincisi IPv6 eşdeğeri, parantez IPv6 notasyonunda adres ve portu ayırmak için kullanılır.
Dosyayı kaydedin, sunucuyu zaten çalıştırıyorsanız, değişikliklerimizi hesaba katmak için yeniden başlatın ve şimdi yalnızca localhost
erişime sahipse, diğerleri a 403 Forbidden
.
Windows sistemlerine kurmakla ilgili resmi PHP belgelerini okumanızı öneririm .
En son PHP ikili dosyalarını resmi PHP for Windows indirme sayfasından indirin , Apache kurulumunuzun bit sürümüne uygun iş parçacığı güvenli sürümünü seçin (32-Bit için x86, 64-Bit için x64).
İş parçacığı güvenli olmayan sürümü yalnızca bir CGI ikili olarak çalışırken - burada daha fazla bilgi .
Kullandığım sürüm: PHP 5.6.2 VC11 x64 Thread Safe . Bu cevap en son güncellendiğinde en son sürüm: PHP 7.3.3 VC15 x64 Thread Safe (yayının altındaki düzenleme tarihine bakınız).
PHP
Sabit sürücünüzün kökünde boş bir klasör oluşturun ve önceden indirilmiş arşivi buraya çıkartın C:\PHP\ext
, aksi halde yanlış bir şey yaptığınız gibi bir yola sahip olmalısınız .
İçinde C:\PHP
, ( php.ini-production
veya php.ini-development
ne istediğinizi bağlı olarak) olarak yeniden adlandırın php.ini
.
Bu php.ini
dosyayı açın, extension_dir = "ext"
bu satırı arayın ve uncomment edin (ilkini kaldırın ;
). Bu, varsayılan uzantı dir'ine ayarlanır ext
(bu C:\PHP\ext
, bu yazının ext/
önceki sürümlerinde olduğu gibi tüm uzantıların yollarını manuel olarak hazırlamak zorunda kalır ve bunu önler) .
Şimdi Apache'yi bu PHP'yi kullanacak şekilde düzenleyerek, düzenleyerek C:\Apache24\conf\httpd.conf
- tüm LoadModule
satırlardan sonra , aşağıdakileri ekleyin:
(Aşağıdaki yalnızca PHP 7 içindir )
LoadModule php7_module "c:\php\php7apache2_4.dll"
<IfModule php7_module>
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html
PHPIniDir "c:\php"
</IfModule>
(Aşağıdaki sadece PHP 5 içindir )
LoadModule php5_module C:/PHP/php5apache2_4.dll
<IfModule php5_module>
DirectoryIndex index.html index.php
AddHandler application/x-httpd-php .php
PHPIniDir "C:/PHP"
</IfModule>
Şimdi de istemi bir komut açarak elle Apache başlatmaya çalıştığınızda C:\Apache24\bin
ve çalışır httpd.exe
- sen hiç hata görürseniz, bu yapılandırma dosyası geçerli olduğu anlamına gelir ve PHP olduğunu büyük olasılıkla çalışma .
Sen gibi bir dosya oluşturarak PHP kurulumunu test edebilirsiniz info.php
ile <?php phpinfo();
iç ve gidiş http://localhost/info.php
- Eğer sistem ve PHP kurulumu ve tüm modülleri hakkında bilgi biraz görmelisiniz. "Dahili sunucu hatası" gibi bir şey alırsanız, bu bir sorun olduğu anlamına gelir.
Şimdi mevcut Apache işleminizi öldürebilir (konsolda Ctrl + C) ve servisi başlatabilirsiniz - aşağıdaki bölüm Apache ile etkileşime girmez ve daha önce başlatılmış olan sunucu ile yapılabilir.
Besteci, bir paket yöneticisi gibi PHP'de bağımlılık yönetimi için bir araçtır. PHP paketlerini ve hatta çerçevelerin tamamını kolayca yüklemenizi sağlar.
Besteci, PHP OpenSSL uzantısının etkin olmasını gerektirir, bu yüzden onu etkinleştirelim C:\PHP\php.ini
.
Metin editörünüzün arama işlevini aramak için kullanın php_openssl.dll
, bunun için zaten yorumlanmış bir satır olmalı, sadece bu satırdakileri yorumlamalısınız.
Şimdi, Besteci'nin Windows yükleyicisini indirme sayfalarından indirin - veya yalnızca bu doğrudan bağlantıyı kullanın .
PHP'ye gitmeniz istendiğinde talimatları izleyin, göz atın C:\PHP
ve seçin php.exe
.
İşte bu, Composer şimdi sistem genelinde kurulmuş ve herhangi bir yerden kullanılabilir - deneyebilirsiniz, sadece yeni bir komut istemi açın ( PATH
Composer's tarafından ayarlanan yeni değişkeni okumak için ihtiyaç duyduğu için zaten açık olanları kullanamazsınız. yükleyici) ve yazın composer
.
Güzel bir ASCII sanat logosu ve bunun gibi bir şey edinmelisin:
Composer version e87bc894daf8d5f8e77a01dd7ae5f0446ae30b14 2014-05-01 15:40:28
MySQL veritabanınıza PHP'den erişmek istiyorsanız, bunu yapmanıza izin veren uzantıları etkinleştirmeniz gerekir, örneğin php_mysqli
veya php_pdo_mysql
- Her ikisini de etkinleştirmenizi öneririm.
PHP’nin yapılandırma dosyasını C:\PHP\php.ini
metin düzenleyicinizde açın ve php_mysqli
veya php_pdo_mysql
- orada olmalılar, onları aralarında bulunmalıdır.
Tamam, şimdi ya mysqli
da tuşlarını kullanarak herhangi bir MySQL veritabanına erişebilirsiniz PDO
.
On MySQL Installer indirme sayfasına web yükleyici indirmek mysql-installer-web-community-xxxxx.msi
.
Mysql-installer-web-community-5.6.21.1.msi dosyasını kullandım. Bu cevap en son güncellendiğinde en son sürüm: mysql-installer-web-community-8.0.15.0.msi (gönderinin altındaki düzenleme tarihine bakın).
Yükleyici, sisteminize bağlı olarak uygun sürümü (32-Bit veya 64-Bit) otomatik olarak kuracaktır, ancak MySQL'in bit sürümü Apache'nin ve PHP'ninkiyle eşleşmek zorunda kalmasa da, yine de bilgisayarınızın 64-bit sürümünü kullanmak faydalı olacaktır. Sistem, 3 GB'tan daha fazla RAM'den yararlanmasını desteklemektedir , bu da veritabanı sunucuları çok RAM kullanmaya meyillidir.
Yükleyicideki adımları izleyin, bunu geliştirme için yüklüyorsanız Developer default
, en iyi seçeneğiniz olacak, yerel bir GUI istemcisi olan MySQL Workbench'i de yükleyecektir; PHPMyAdmin komut satırı istemcisi kullanmakta rahat değilseniz.
Her şey kurulduktan sonra, yükleyici sizden bazı temel yapılandırma değerlerini isteyecektir, veritabanına ağdaki başka bir makineden erişmek istemediğiniz sürece, "Ağ erişimi için güvenlik duvarı portunu aç" seçeneğini devre dışı bırakmanızı tavsiye ederim.
Kök şifresini ayarlayın - yalnızca geliştirme amaçlıysa ve güvenlik duvarınız ağdan gelen bağlantıları engelliyorsa, güçlü bir şifre gerekmez.
Son olarak, gereksiz MySQL Notifier’ı tepsi simgesine sağ tıklayarak, Eylemler -> Seçenekler’e gidip Run at Windows Startup
onay kutusunu işaretleyip uygulayarak devre dışı bırakabilirsiniz . Bu size birkaç MB RAM kazandırır ve önyükleme yaparken makinenizi yavaşlatmaz.
İşte bu, artık bir servis olarak çalışan ve herhangi bir kullanıcıya bağlı olmayan (hiç kimse giriş yapmamış olsa bile erişilebilir) tamamen işlevsel bir WAMP sunucunuz var.
Bunun güvenliği hakkında hiçbir fikrim olmadığını unutmayın, geliştirme amaçları için, güvenlik duvarınızın hem Apache (80 ve 443 portları) hem de MySQL (326 port) için gelen bağlantıları engellemesi gerektiği için oldukça güvenli olduğunu söyleyebilirim.
Bu bir Windows 7 kurulumunda test edildi, ayrıca Vista, Windows 8 ve muhtemelen Windows Server 2008/2012'de de iyi çalışması gerekiyor - bu durumda değilse yorum yapmaktan ve / veya oy kullanmaktan çekinmeyin.
MSVCR110.dll
hatası (şimdiki Apache sürümü) geldi ben Visual C ++ Yeniden 2010 SP1 yüklemeden sona erdi. Daha sonra VCRUNTIME140.dll
Visual Studio 2015 için Visual C ++ Yeniden Dağıtılabilir'i yüklememi gerektiren dosya hakkında başka bir hata aldım .
Yukarıdaki cevaptaki talimatlar Temmuz 2017’den itibaren mükemmel şekilde çalışır, ancak PHP 7 kullanmak istiyorsanız C:\Apache24\conf\httpd.conf
, bu cevaptakiler yerine aşağıdaki satırları eklemelisiniz (yalnızca PHP 5 için geçerlidir) [Aşağıdakileri ekleyinLoadModule
) tüm satırlardan sonra ] :
LoadModule php7_module C:/PHP/php7apache2_4.dll
<IfModule php7_module>
DirectoryIndex index.html index.php
AddHandler application/x-httpd-php .php
PHPIniDir "C:/PHP"
</IfModule>
Tüm yolların doğru olduğundan emin olun. Eğer yoksa php7apache2_4.dll
PHP dizininde, muhtemelen yanlış paketi indirdim.