2010-08-24 11 views
53

मैं PHP में थोड़ी देर के लिए php का उपयोग कर php ऐप्स लिख रहा हूं। अब मैं अपने काम पीसी पर अलग से PHP & अपाचे स्थापित कर रहा हूं। मैंने PHP 5, और नवीनतम अपाचे स्थापित किया है। मैं लोकलहोस्ट जाता हूं और देखता हूं कि यह काम करता है! अब मैं test.php नामक एक फाइल जोड़ता हूं जो प्रदर्शित करता है:मेरी PHP फाइलें सादे पाठ के रूप में क्यों दिख रही हैं?

<?php 
    phpinfo(); 
?> 

लेकिन ब्राउज़र में यह केवल सादा पाठ प्रदर्शित करता है। क्या कहीं कहीं मैंने स्पष्ट रूप से PHP5 का उपयोग करने के लिए कहा है?

धन्यवाद एक बहुत

उत्तर

60

आप अपने सर्वर विन्यास में जोड़ने के लिए की आवश्यकता होगी:

AddType application/x-httpd-php .php 

आप php ठीक से स्थापित है यह सोचते है कि, जिस स्थिति नहीं हो सकता है के बाद से यह नहीं है काम जहां यह आमतौर पर स्थापित करने के तुरंत बाद होगा।

यह पूरी तरह संभव है कि आप भी आप पीएचपी कार्रवाई करने के लिए अपाचे (वेब ​​सर्वर) विन्यस्त करने की जरूरत (httpd.conf में आमतौर पर)

+1

iamjonesy को php5_module के लिए लोड मॉड्यूल कमांड जोड़ने की आवश्यकता हो सकती है। –

+1

यह वही है जो मुझे अंततः मैक ओएसएक्स 10.10 योसमेट काम पर PHP बनाने की आवश्यकता है। Thx बहुत :-) – Donald

+0

किसी विशेष मामले में जहां हमने क्लाइंट की .htaccess फ़ाइल डाउनलोड की, वहां एक अतिरिक्त (और गलत) तत्काल निर्देश "AddHandler एप्लिकेशन/x-httpd-php5 .php" था, जो उनके पुराने सर्वर कॉन्फ़िगरेशन के लिए काम करता है , लेकिन हमारा नहीं। एक बार जब हमने इस साइट के लिए .htaccess फ़ाइल में इस लाइन पर टिप्पणी की, तो PHP ने फिर से ठीक काम किया। :-) –

12

एक LoadModule निर्देश का उपयोग कर अपने अपाचे config करने के लिए php तो/dll जोड़ना होगा कि PHP के रूप में स्क्रिप्ट। अपाचे के कॉन्फिग की जाँच करें, आप (पथ आपके सिस्टम पर भिन्न हो सकती है) मॉड्यूल लोड करने के लिए की जरूरत है:

LoadModule php5_module "c:/php/php5apache.dll" 

और आप भी अपाचे बताने के लिए क्या पीएचपी साथ कार्रवाई करने के लिए की जरूरत है:

AddType application/x-httpd-php .php 

See the documentation for more details.

+1

आपके उत्तर के लिए धन्यवाद। Php5apache.dll फ़ाइल मेरी PHP निर्देशिका में मौजूद नहीं है। क्या इसे हमेशा php5apache कहा जाता है? – iamjonesy

+1

'.dll' फ़ाइल को अपाचे 2.2 और' php5apache2_4.dll' के लिए अपाचे 2.2 – user

12

फिर भी एक और कारण (इस मामले के लिए नहीं, लेकिन शायद यह किसी के लिए कुछ नसों को बचाएगा) यह है कि PHP 5.5 छोटे खुले टैग <? phpinfo(); ?> डिफ़ॉल्ट रूप से अक्षम हैं। तो php दुभाषिया सादा पाठ के रूप में छोटे टैग के भीतर कोड संसाधित करेगा। पिछले संस्करणों में php यह सुविधा डिफ़ॉल्ट रूप से सक्षम थी। तो नया व्यवहार थोड़ा रहस्यमय हो सकता है।

5

आप मेरे जैसे, अपाचे स्थापित करने से पहले php-cgi स्थापित कर सकते हैं और ऐसा करने पर यह PHP चलाने के लिए अपाचे को ठीक से सेट नहीं करता है, PHP को पूरी तरह से हटाकर और पुनर्स्थापित करने से मेरी समस्या ठीक हो जाती है।

+0

के लिए 'php5apache2_4.dll'' कहा जाता है, मैं @ जारोस्लावकाडलेक से भी असहमत हूं, मैंने ऑर्डर से बाहर स्थापित किया है और हटाने और पुनर्स्थापित करने के लिए मेरे लिए चाल है – Kabb5

57

आप Apache

Debian और Ubuntu के लिए के लिए PHP5 lib स्थापित करना चाहिए: apt-get install libapache2-mod-php5

और अपाचे service apache2 restart

+10

php7 apt-get libapache2-mod-php7.0 –

+0

libapache2-mod-php libapache2-mod-php7.0 स्थापित करेगा। हमें php7 के लिए स्पष्ट रूप से संस्करण निर्दिष्ट करने की आवश्यकता नहीं है – Junaid

2

आप userdir आधुनिक उपयोग कर रहे हैं पुनः आरंभ?

उस मामले बात यह है कि PHP5 डिफ़ॉल्ट रूप से उस स्थान से चलने वाली स्क्रिप्ट को अक्षम करने जा रहा है है और आप निम्नलिखित लाइनों बाहर टिप्पणी करने के लिए है:

<IfModule mod_userdir.c> 
    <Directory /home/*/public_html> 
     php_admin_flag engine Off 
    </Directory> 
</IfModule> 
/etc/apache2/mods-enabled/php5.conf में

(एक ubuntu सिस्टम पर)

3

आपको PHP कोड को संभालने के लिए अपाचे में हैंडलर जोड़ने की आवश्यकता होगी।

आदेश sudo vi/etc/httpd/conf/httpd द्वारा संपादित।conf

AddType संचालकों पर

http://httpd.apache.org/docs/2.2 अधिक जानकारी के लिए इन दो संचालकों

AddType application/x-httpd-php .php 
    AddType application/x-httpd-php .php3 

की स्थिति में नीचे

<IfModule mime_module> 

AddType application/x-compress .Z 
AddType application/x-gzip .gz .tgz 

--Add Here-- 


</IfModule> 

निर्दिष्ट जोड़े /mod/mod_mime.html

संबंधित मुद्दे