Yerel makinede PHP sunucusu?


161

Bir PHP sitesi oluşturmaya çalışıyorum ve PHP dosyalarımı sunucuma yüklemeden test etmek istiyorum. Ben yüklemeden önce temelde onları kendi makinemde test ediyorum. Bunu nasıl yaparım?


1
XAMPP kullanın ve PHP sunucusunu kurun. bazen skype 80 ve 443 numaralı bağlantı noktalarını kullanıyorsa, apache sunucusu başlamaz. Komple çözüm burada sağlanır feelzdroid.com/2015/12/install-php-server-local-machine.html
Naruto

Yanıtlar:



380

PHP 5.4 ve üstü bu günlerde yerleşik bir web sunucusuna sahiptir .

Komutu terminalden çalıştırmanız yeterlidir:

cd path/to/your/app
php -S 127.0.0.1:8000

Ardından tarayıcınızda git http://127.0.0.1:8000ve patla, sisteminizin çalışır durumda olması gerekir. (Bunun çalışması için bir index.php veya index.html dosyası olmalıdır.)

Basit bir Yönlendirici de ekleyebilirsiniz

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false;    // serve the requested resource as-is.
} else { 
    require_once('resolver.php');
}
?>

Ve sonra komutu çalıştırın

php -S 127.0.0.1:8000 router.php

Referanslar:


9
Herkesin merak etmesi durumunda, -S ve diğer komutlara bir referans aşağıdaki bağlantıda bulunabilir. Özellikle, -S "Yerleşik web sunucusuyla çalıştır" anlamına gelir. php.net/manual/tr/features.commandline.options.php
calipoop

ama depolanacak veritabanları ne olacak!
Yousef Altaf

1
@YousefAltaf OP hava durumunu belirtmez veya bir veritabanının kullanılmasını istemez. Onlar bir PHP sunucusu istedi ve bu sadece bir PHP sunucusudur. Bir MYSQL Server veya PostGres Server çalıştırmak istiyorsanız, bu başka bir soru olacaktır ve PHP Uygulamanızı bahsedilen sunucuyu kullanacak şekilde yapılandırabilirsiniz. Ayrıca hızlı geliştirme amacıyla bir SQLITE DB yapmalıdır.
GardenRouteGold

1
PHP Dahili web sunucusu paralel isteği desteklemez: The web server runs a only one single-threaded process, so PHP applications will stall if a request is blocked.. Bu, bazı performans sorunlarına neden olabilir.
vikyd

1
@vikyd bu tam teşekküllü bir uygulama geliştirme için değil, özellikleri test etmek / hata ayıklamak veya IMHO'yu kodlamak için hızlı bir yol değildir.
GardenRouteGold

39

Bu php sunucunuzu yerel olarak çalıştırmak için basit, emin bir ateş yoludur:

php -S 0.0.0.0:<PORT_NUMBER>

Burada PORT_NUMBER, 1024 ile 49151 arasında bir tam sayıdır

Misal: php -S 0.0.0.0:8000

Notlar:

  1. Kullanmak localhostyerine 0.0.0.0bir bağlantı reddedildi hatası çarpabilir.

  2. Web sunucusunu herhangi bir arabirim tarafından erişilebilir hale getirmek istiyorsanız kullanın 0.0.0.0.

  3. Bir URI isteği bir dosya belirtmezse, verilen dizindeki index.php veya index.html döndürülür.

Aşağıdaki dosya verildi (yönlendirici.php)

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false;    // serve the requested resource as-is.
} else { 
    echo "<p>Welcome to PHP</p>";
}
?>

Koş şunu ...

php -S 0.0.0.0:8000 router.php

... ve tarayıcınızda http: // localhost: 8000 / 'e gidin ve aşağıdakiler görüntülenir:

Welcome to PHP

Referans:

Yerleşik web sunucusu


4
0.0.0.0 ile ilgili ipucu için teşekkürler, ne sihirli bir düzeltme - kabul edilen cevaba veya başka bir şeye dahil edilmelidir ...
calipoop

14

PHP Laravel çerçevemi döndürmek için sık sık aşağıdaki komutu kullanıyorum:

$ php artisan serve --port=8080
or
$ php -S localhost:8080 -t public/

Yukarıdaki komutta: - Artisan , Laravel'de bulunan ve php sunucusunda yerleşik olarak arama yapmak için servis kullanan komut satırı arayüzüdür

Yerleşik web sunucusuyla çalıştırmak için.

 php -S <addr>:<port> -T

Burada,
-S: Yerleşik web sunucusuyla Çalıştır'a geçin.
-T: Yerleşik web sunucusu için belge kökünü belirtmek üzere geçiş yapın.


8

Kullandığım WAMP . Bir kolay kurulum sihirbazı, Apache ve PHP için tonlarca modül önceden yapılandırılmış ve uzaktan yapılandırmanıza uyacak şekilde açılıp kapanması kolaydır.


7

Farklı PHP, MySQL ve Web sunucusu sürümleri arasından seçim yapabileceğiniz ve Docker'ı kullanmaktan korkmadığınız herhangi bir işletim sistemi için çok amaçlı bir yerel geliştirme yığını istiyorsanız, şeytan kutusuna gidebilirsiniz .

Şeytan kutusu, tam LAMP ve MEAN'ı destekleyen ve tüm büyük platformlarda çalışan modern ve son derece özelleştirilebilir bir dockerized PHP yığınıdır. Ana hedef, yerel gelişim için gerekli olan herhangi bir sürümü kolayca değiştirmek ve birleştirmektir. Vhost'ların ve DNS kayıtlarının otomatik olarak oluşturulduğu sınırsız sayıda projeyi destekler. E-posta yakalama ve popüler geliştirme araçları da hizmetinizde olacak. Yapılandırma gerekli değildir, çünkü her şey toplu sanal barındırma ile önceden ayarlanmıştır.

Çalıştırmak ve çalıştırmak oldukça basittir:

# Get the devilbox
$ git clone https://github.com/cytopia/devilbox
$ cd devilbox

# Create docker-compose environment file
$ cp env-example .env

# Edit your configuration
$ vim .env

# Start all containers
$ docker-compose up

devilbox

Bağlantılar:





1

Apache Friends XAMPP kullanın . Apache HTTP sunucusu, PHP 5 ve MySQL 5'i kuracak (bildiğim kadarıyla bundan daha fazlası var). Apache'nin (veya modüllerin herhangi birinin) onu kullanmak için nasıl yapılandırılacağını bilmenize gerek yoktur.

Apache'nin sunacağı ( http: // localhost / tarafından erişilebilir ) ve PHP dosyalarınızı buraya koyabileceğiniz bir htdocs dizinine sahip olacaksınız . Kurulumumla C: \ xampp \ htdocs adresinde.


1

Doğru yazılıma sahip yerel bir makineniz varsa: PHP desteğine sahip web sunucusu varsa, açıkladığınız gibi yapamamanızın bir nedeni yoktur.

Şu anda bir Windows XP makinesinde XAMPP ve Kubuntu ve bir LAMP yığını ile (evde) yapıyorum.



1

AppServ , Windows'da çalıştırmak için küçük bir programdır:

  • Apaçi
  • PHP
  • MySQL
  • phpMyAdmin

Ayrıca Apache için bir başlatma ve durdurma düğmesi verecektir. Hangi çok yararlı buluyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.