2011-06-05 13 views
33

मेरी नई Ubuntu पर डाउनलोड करने के लिए php फ़ाइलें, मैं Apache2 अप और मेरे ZendFramework वेब अनुप्रयोग विकसित करने के लिए चलाने के लिए प्रबंधित किया है ...apache2 -

मैं अपने available-sites config क्योंकि मैं सही ढंग से काम मिल गया है localhost का अनुरोध करने में सक्षम हूं और यह मेरी निर्दिष्ट निर्देशिका से सही index.html को सर्वर बनाता है।

समस्या: यदि मैं index.php का अनुरोध करता हूं, तो फ़ायरफ़ॉक्स स्क्रिप्ट चलाने के बजाय फ़ाइल डाउनलोड करने का प्रयास करता है।

कोई विचार क्यों ऐसा होगा?

मैंने निम्नलिखित को httpd.conf में जोड़ा है लेकिन इससे मदद नहीं मिली है।

AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml 

AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml 
+0

आप httpd.conf बदलने के बाद अपाचे को पुनः आरंभ है? इसके अलावा, मुझे कोई समस्या नहीं दिख रही है। (मेरे सर्वर में केवल 'AddType' है, लेकिन मुझे यकीन नहीं है कि यह महत्वपूर्ण है।) – andrewdski

+0

आपके उत्तर के लिए धन्यवाद। बाहर निकलता है मैंने केवल अपाचे सर्वर स्थापित किया था, न कि PHP। मैंने माना था कि यह बंडल किया गया था और एक साथ स्थापित होगा ... आप जानते हैं कि वे धारणा के बारे में क्या कहते हैं ... हा! – shane

+0

अगर किसी को समस्या है, और 'libapache2-mod-php5' पहले से ही स्थापित है। फिर, यदि आप घर के 'सार्वजनिक-एचटीएमएल' फ़ोल्डर्स में से किसी एक में समस्या का सामना कर रहे हैं, चेकआउट '/ etc/apache2/mods-available/php5.conf' - इसमें एक अनुभाग है जो घर फ़ोल्डरों के लिए PHP बंद कर रहा है (कुछ कारणों से)। '<निर्देशिका/घर/*/public_html> php_admin_value इंजन बंद ...' –

उत्तर

66

अगर फ़ायरफ़ॉक्स आपकी PHP फ़ाइलों को डाउनलोड करता है तो इसका मतलब है कि आपके सर्वर में php या apache php मॉड्यूल स्थापित नहीं है।

क्या आपने apache php मॉड्यूल स्थापित किया है? यदि नहीं, तो इसे स्थापित एक टर्मिनल में इस टाइप करके,:,

sudo apt-get install libapache2-mod-php5 

और हाँ अगर आप अपने index.php /var/www/ में स्थित है?

आदेश

sudo a2enmod php5 
+1

हा! धन्यवाद! (काम किया) क्या इसका मतलब है कि मुझे अलग-अलग MySQL को भी स्थापित करने की आवश्यकता है? आदेश के साथ मेरी मदद करने का कोई मौका? बहुत धन्यवाद – shane

+0

@shane 'sudo apt-get mysql-server स्थापित करें – damianb

+0

आपका एक सज्जन, धन्यवाद। मैं वर्तमान में खिड़कियों पर विकास से प्रवासन पर हूं। क्या MySQL इंस्टॉल मुझे phpmyadmin भी देगा? – shane

3

आप PHP एक्सटेंशन सक्षम करने की आवश्यकता के साथ php सक्षम करना सुनिश्चित करें। sudo a2enmod php कमांड के साथ ऐसा करें।

2

मैं मान लेंगे आप पहले से ही पीएचपी स्थापित और अपाचे यहाँ पीएचपी मॉड्यूल स्थापित ...

आप अपाचे पुनः आरंभ किया? यदि नहीं: sudo service apache2 restart

सुनिश्चित करें कि आपकी httpd.conf फ़ाइल भी निष्पादित की जा रही है। यदि आवश्यक हो, एक संपादन कि लोड पर एक त्रुटि का कारण होगा करने के बाद उसे पुन: प्रारंभ। उसे पुन: प्रारंभ करने के लिए असफल नहीं होता है, यह .conf फ़ाइल नहीं चल रहा है।

समस्या अभी भी जारी है,, अपना ब्राउज़र बंद इसे फिर से खोलने, और अपने कैश साफ़ करें। यह ब्राउज़र बस पृष्ठ प्रतिसाद ग्रहण हो सकता है।

12

आप userdir उपयोग कर रहे हैं (http: // localhost/~ उपयोगकर्ता/phpinfo।php) आप चाहते हैं जाएगा करने के लिए:

vi /etc/apache2/mods-enabled/php5.conf 

बदलें

<IfModule mod_userdir.c> 
    <Directory /home/*/public_html> 
     php_admin_value engine Off 
    </Directory> 
</IfModule> 

php_admin_value

<IfModule mod_userdir.c> 
    <Directory /home/*/public_html> 
     #php_admin_value engine Off 
    </Directory> 
</IfModule> 

तो

service apache2 restart 
+0

I मुझे परेशान है कि यह एक समाधान है। विशेष रूप से यह 'php_admin_value इंजन' का उल्लेख करने में समस्याग्रस्त प्रतीत होता है चाहे कोई भी 'ऑन' या 'ऑफ' पर सेट हो। ऐसा क्यों होगा? क्या एक खाली निर्देश अनदेखा है? – valid

4

मेरे लिए टिप्पणी करने के लिए, समाधान का निर्माण करना था निम्नलिखित 2 प्रतीकात्मक लिंक:

ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf 
ln -s /etc/apache2/mods-available/php5.load /etc/apache2/mods-enabled/php5.load 

और अपाचे पुनः आरंभ करने की:

/etc/init.d/apache2 restart 

साधते http://my_server/test.php फ़ाइल है, जो सामग्री है:

<?php 
    phpinfo(); 
?> 

सही आया था, और ब्राउज़र php डाउनलोड करने के लिए कोशिश नहीं की फ़ाइल। ब्राउज़र को पुनरारंभ करने की आवश्यकता नहीं थी, या तो।

+3

आप 'a2enmod php5' –

+1

+1 के साथ सिमलिंक बना सकते हैं ठीक है मेरी समस्या, समाधान के लिए धन्यवाद – infinity

0

मैंने PHP 7.0 स्थापित किया है और डेलॉग बॉक्स प्राप्त किया है। मैंने 7.0 संस्करण के लिए अपाचे PHP मॉड्यूल स्थापित किया है और यह मेरी समस्या को ठीक करता है।

sudo apt-get स्थापित libapache2-आधुनिक-php7.0

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