स्थानीय मशीन पर PHP सर्वर?


161

मैं एक PHP साइट बनाने की कोशिश कर रहा हूं और मैं अपनी PHP फ़ाइलों को अपने होस्ट पर अपलोड किए बिना परीक्षण करना चाहता हूं। इससे पहले कि मैं उन्हें अपलोड करूं मूल रूप से मेरी मशीन पर उनका परीक्षण करना। मैं उसको कैसे करू?


1
XAMPP का उपयोग करें और PHP सर्वर स्थापित करें। यदि कभी-कभी स्काइप पोर्ट 80 और 443 का उपयोग करता है, तो अपाचे सर्वर लॉन्च नहीं होगा। संपूर्ण समाधान यहां प्रदान किया गया है feelzdroid.com/2015/12/install-php-server-local-machine.html
नारुतो

जवाबों:



380

PHP 5.4 और बाद में इन दिनों एक अंतर्निहित वेब सर्वर है

आप बस टर्मिनल से कमांड चलाते हैं:

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

फिर अपने ब्राउज़र में जाकर http://127.0.0.1:8000बूम करें, आपका सिस्टम चालू और चालू होना चाहिए। (इस काम के लिए एक index.php या index.html फ़ाइल होनी चाहिए।)

आप एक साधारण राउटर भी जोड़ सकते हैं

<?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');
}
?>

और फिर कमांड चलाएं

php -S 127.0.0.1:8000 router.php

संदर्भ:


9
यदि कोई सोच रहा था, -S और अन्य कमांड का संदर्भ नीचे दिए गए लिंक पर पाया जा सकता है। विशेष रूप से, -S का अर्थ है "अंतर्निहित वेब सर्वर के साथ चलाएँ।" php.net/manual/en/features.commandline.options.php
कैलिपोप

लेकिन डेटाबेस के बारे में क्या यह जगह में संग्रहीत किया जाना चाहिए!
युसेफ अल्ताफ

1
@YousefAltaf ओपी मौसम को निर्दिष्ट नहीं करता है या नहीं कि वे एक डेटाबेस का उपयोग करना चाहते थे। उन्होंने एक PHP सर्वर के लिए कहा और यह बस एक PHP सर्वर है। यदि आप एक MYSQL सर्वर या PostGres सर्वर चलाना चाहते हैं तो यह एक और प्रश्न होगा और आप उक्त सर्वर का उपयोग करने के लिए अपने PHP अनुप्रयोग को कॉन्फ़िगर कर सकते हैं। त्वरित विकास उद्देश्यों के लिए भी SQLITE DB करना चाहिए।
गार्डनरॉइटगोल्ड

1
PHP अंतर्निहित वेब सर्वर समानांतर अनुरोध का समर्थन नहीं करता है The web server runs a only one single-threaded process, so PHP applications will stall if a request is blocked.:। इससे कुछ प्रदर्शन समस्या हो सकती है।
vikyd

1
@vikyd यह एक पूर्ण विकसित अनुप्रयोग विकास के लिए नहीं है, यह सुविधाओं / डिबग या कोड IMHO का परीक्षण करने का एक त्वरित तरीका है।
गार्डनरूटगोल्ड

39

यह आपके php सर्वर को स्थानीय रूप से चलाने के लिए एक सरल, सुनिश्चित अग्नि मार्ग है:

php -S 0.0.0.0:<PORT_NUMBER>

जहां PORT_NUMBER 1024 से 49151 तक पूर्णांक है

उदाहरण: php -S 0.0.0.0:8000

टिप्पणियाँ:

  1. यदि आप localhostइसके बजाय उपयोग करते हैं तो 0.0.0.0आप कनेक्शन से इनकार कर सकते हैं त्रुटि से इनकार कर दिया।

  2. यदि वेब सर्वर को किसी भी इंटरफ़ेस के लिए सुलभ बनाना चाहते हैं, तो उपयोग करें 0.0.0.0

  3. यदि कोई URI अनुरोध फ़ाइल निर्दिष्ट नहीं करता है, तो दिए गए निर्देशिका में index.php या index.html वापस कर दिए जाते हैं।

निम्नलिखित फ़ाइल को देखते हुए (राऊटर। एफपी)

<?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>";
}
?>

इसे चलाओ ...

php -S 0.0.0.0:8000 router.php

... और अपने ब्राउज़र में http: // localhost: 8000 और / और निम्नलिखित को प्रदर्शित किया जाएगा:

Welcome to PHP

संदर्भ:

अंतर्निहित वेब सर्वर


4
टिप के लिए धन्यवाद 0.0.0.0 के बारे में, क्या जादू फिक्स था - इसे स्वीकार किए गए उत्तर या कुछ में शामिल किया जाना चाहिए ...
कैलिपोप

14

मैं अपने PHP Laravel ढांचे को स्पिन करने के लिए अक्सर निम्नलिखित कमांड का उपयोग करता हूं:

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

उपरोक्त कमांड में: - कारीगर लारवेल के साथ शामिल कमांड-लाइन इंटरफ़ेस है जो php सर्वर में निर्मित कॉल के लिए सेवा का उपयोग करता है

अंतर्निहित वेब सर्वर के साथ चलाने के लिए।

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

यहाँ,
-S: अंतर्निहित वेब सर्वर के साथ चलाने के लिए स्विच करें।
-T: अंतर्निहित वेब सर्वर के लिए दस्तावेज़ रूट निर्दिष्ट करने के लिए स्विच करें।


8

मैं WAMP का उपयोग करता हूं । एक आसान स्थापित विज़ार्ड, Apache और PHP के लिए मॉड्यूल के टन preconfigured और अपने दूरस्थ कॉन्फ़िगरेशन से मिलान करने के लिए आसान और बंद करना।


7

यदि आप किसी भी ऑपरेटिंग सिस्टम के लिए एक ऑल-पर्पज लोकल डेवलपमेंट स्टैक चाहते हैं, जहाँ आप विभिन्न PHP, MySQL और वेब सर्वर संस्करणों से चुन सकते हैं और डॉकर के उपयोग से भी नहीं डरते हैं, तो आप डेविलबॉक्स के लिए जा सकते हैं ।

डेविलबॉक्स पूर्ण LAMP और MEAN का समर्थन करने वाला और सभी बड़े प्लेटफार्मों पर चलने वाला एक आधुनिक और उच्च अनुकूलन योग्य PHP स्टैक है। मुख्य लक्ष्य स्थानीय विकास के लिए आवश्यक किसी भी संस्करण को आसानी से स्विच और संयोजित करना है। यह उन असीमित परियोजनाओं का समर्थन करता है जिनके लिए vhosts और DNS रिकॉर्ड स्वचालित रूप से बनाए जाते हैं। ईमेल कैच-ऑल और लोकप्रिय विकास उपकरण आपकी सेवा में भी होंगे। कॉन्फ़िगरेशन आवश्यक नहीं है, क्योंकि सामूहिक वर्चुअल होस्टिंग के साथ सब कुछ पूर्व-सेटअप है।

यह हो रही है और चल रहा है बहुत सीधी-सपाट है:

# 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

लिंक:


5

XAMPP स्थापित करें । यदि आप MS Windows चला रहे हैं, तो WAMP भी एक विकल्प है।




1

उपयोग अपाचे दोस्त XAMPP । यह PHP 5 और MySQL 5 (जहाँ तक मुझे पता है, वहाँ शायद कुछ और है कि तुलना में है) अपाचे HTTP सर्वर स्थापित करेगा। आपको इसका उपयोग करने के लिए अपाचे (या किसी भी मॉड्यूल) को कॉन्फ़िगर करने का तरीका जानने की आवश्यकता नहीं है।

आपके पास एक htdocs डायरेक्टरी होगी जो Apache ( http: // localhost / ) द्वारा एक्सेस की जाएगी और आपको अपने PHP सर्वर को वहां रखने में सक्षम होना चाहिए। मेरी स्थापना के साथ, यह C: \ xampp \ htdocs पर है।


1

यदि आपके पास सही सॉफ़्टवेयर के साथ एक स्थानीय मशीन है: PHP के समर्थन के साथ वेब सर्वर, तो कोई कारण नहीं है कि आप जैसा वर्णन करते हैं वैसा आप नहीं कर सकते।

मैं इस समय एक Windows XP मशीन पर XAMPP के साथ कर रहा हूं, और (घर पर) Kubuntu और एक LAMP स्टैक के साथ।



1

AppServ चलाने के लिए विंडोज में एक छोटा कार्यक्रम है:

  • अमरीका की एक मूल जनजाति
  • पीएचपी
  • माई एसक्यूएल
  • phpMyAdmin

यह आपको अपाचे के लिए एक स्टार्टअप और स्टॉप बटन भी देगा। जो मुझे बहुत उपयोगी लगता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.