अपाचे उन्हें प्रदर्शित करने के बजाय php फ़ाइलों को डाउनलोड कर रहा है


92

OS और सर्वर जानकारी:

  • सेंटोस 6.4 (अंतिम)
  • अपाचे 2.2.15
  • PHP 5.5.1

मैंने पहले php 5.3.x इंस्टॉल किया था लेकिन अपग्रेड करने का निर्णय लिया। मैंने सबसे पहले php 5.3.x को अनइंस्टॉल किया और फिर php 5.5.1 को इनस्टॉल किया लेकिन इंस्टालेशन पूरा होने के बाद apache ने php फाइल्स को पार्स नहीं किया, बस उन्हें डाउनलोड किया। मैंने स्टैकओवरफ्लो में यहाँ ऐसे ही सवालों की जाँच की है लेकिन उनमें से किसी ने भी अब तक मेरी मदद नहीं की है।

रिकॉर्ड के लिए मेरे पास मेरे httpd.conf और php.conf में निम्न पंक्तियाँ हैं जो php को काम करना चाहिए लेकिन नहीं:

AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php-source .phps
AddHandler php5-script .php

मेरे द्वारा किसी भी सहायता की वास्तव में सराहना की जाएगी। धन्यवाद।

संपादित करें:

मेरे पास ये पंक्तियाँ हैं php.conf में

<IfModule !worker.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

संपादित करें:

को हटाकर

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

apache अब फ़ाइल को डाउनलोड नहीं करती है। अब अपाचे स्रोत कोड दिखा रहा है, लेकिन यह सब सिर्फ हिस्सा नहीं है। मैंने कहा

AddType text/html .php

लेकिन कोई किस्मत नहीं।


अच्छा, आपने इसे कैसे स्थापित किया? कौन सा SAPI? यह भी देखें कि कैसे चेक करें कि कौन से अपाचे मॉड्यूल सक्षम / स्थापित हैं?
मारियो

2
आपका php मॉड्यूल नहीं चल रहा है।
सिथू

1
अपने httpd.confमॉड्यूल की जांच करें कि क्या php मॉड्यूल पर टिप्पणी की गई है या नहीं
MaveRick

1
मैंने प्रश्नों का संपादन किया। मॉड्यूल बाहर निकलते हैं और उन्हें जाहिरा तौर पर लोड किया जा रहा है
एंथनी गेनर

क्या आपने स्थापना के बाद अपाचे को फिर से शुरू किया?
अहमद

जवाबों:


79

Php के लिए सही AddType एप्लीकेशन / x-httpd-php है

AddType  application/x-httpd-php         .php
AddType  application/x-httpd-php-source  .phps

यह भी सुनिश्चित करें कि आपका php मॉड्यूल लोड है

LoadModule php5_module        modules/mod_php55.so

जब आप अपाचे को कॉन्फ़िगर कर रहे होते हैं, तब पृष्ठ को किसी अन्य ब्राउज़र से देखने का प्रयास करें - मेरे पास ऐसे दिन हैं जब क्रोम ने हठपूर्वक परिणाम को कैश किया है और यह स्रोत कोड को डाउनलोड करता रहता है जबकि दूसरे ब्राउज़र में यह ठीक है।


मेरे मामले में कोई मॉड्यूल पथ नहीं है
शमसेन

2
क्या आप इन लाइनों को लगाने के लिए कुछ जानकारी जोड़ सकते हैं?
सोरेन

6
इन लाइनों को कहां लगाना है, इसकी तलाश कर रहे लोगों के लिए। /etc/httpd/conf/httpd.conf
सिराज आलम

मेरे मामले में, Apache-2.4.6 + PHP-7.3.13> LoadModule php7_module मॉड्यूल / libphp7.so
shaojun lyu

22

मैं आज इस मुद्दे पर आया और वर्णित समाधानों में से किसी ने भी मेरे लिए काम नहीं किया। तो यहाँ एक और संभावित कारण है:

अगर आपको कुछ पसंद है

AddHandler x-mapp-php6 .php3 .php4 .php .phtml

.htaccessआपके वेब सामग्री फ़ोल्डर की एक फ़ाइल में, यह आपकी PHP स्क्रिप्ट को काम करने से रोक सकता है। मेरे मामले में सर्वर को x-mapp-php6प्रकार का पता नहीं था , क्योंकि उस .htaccessफ़ाइल को कुछ मैं एक अलग वेब होस्ट से आयात किया गया था जब मैंने वेबसाइट सामग्री को स्थानांतरित किया था।

बस फ़ाइल AddHandlerसे लाइन हटाकर .htaccessइसे मेरे लिए हल कर दिया।


उत्तम। मेरे मामले में, यह था AddHandler application/x-httpd-php54 .php54 .phpकि हटाया जाना था।
ओल्ड मैकसोफर

मुझे कुछ समस्या थी लेकिन घर की निर्देशिका में अपराधी .htaccess फ़ाइल मिली ("public_html" विशेष निर्देशिका के ऊपर एक निर्देशिका)। अगर किसी और के पास एक ही मुद्दा है, तो मूल निर्देशिका में .htaccess को भी देखें (सेटिंग्स कैस्केड)।
वायरब्लू जूल 29'14

मेरे पास एक .htaccess फ़ाइल थी जैसे मैंने एक वेब होस्टिंग सर्वर से खींची थी। यह PHP के एक संस्करण को मजबूर कर रहा था जो मेरे स्थानीय मशीन पर स्थापित नहीं था। इस प्रकार वर्चुअल होस्ट PHP फ़ाइल को ठीक से निष्पादित नहीं कर रहा था।
ब्राइटइंटेलडस्क

यह लगभग निश्चित रूप से समस्या है अगर कुछ साइटें काम करती हैं और अन्य नहीं करते हैं। जूमला .htaccess में एक AddHandler था, लेकिन वर्डप्रेस नहीं था।
पीटर वोस्टर

इसने मेरे लिए काम किया, बस उस लाइन को मेरी सार्वजनिक / .htaccess फ़ाइल से हटा दिया गया और इंडेक्स लोड किया गया।
पीए-जीडब्ल्यू

16

बहुत संघर्ष करने के बाद आखिरकार मैंने समस्या हल कर दी।

यदि आपको .phpइसे निष्पादित करने के बजाय एक फ़ाइल डाउनलोड करने के लिए प्रेरित किया जाता है, तो यहां सही समाधान है: मुझे लगता है कि आपने पहले से ही PHP5 स्थापित किया है और अभी भी यह त्रुटि प्राप्त कर रहा है।

$ sudo su
$ a2enmod php5

यह बात है।

लेकिन अगर आपको अभी भी त्रुटि हो रही है:

Config file php5.conf not properly enabled: /etc/apache2/mods-enabled/php5.conf is a real file, not touching it

फिर निम्न कार्य करें:

फाइलों को चालू नहीं किया mods-enabledजाना चाहिए, बल्कि इसमें संग्रहीत किया जाना चाहिए mods-available। एक सिमलिंक तब मॉड्स-सक्षम इंगित में बनाया जाना चाहिए जो मॉड में उपलब्ध फ़ाइल में संग्रहीत है।

पहले मूल निकालें:

$ mv /etc/apache2/mods-enabled/php5.conf /etc/apache2/mods-available/

फिर प्रतीकात्मक लिंक बनाएं:

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

मुझे उम्मीद है कि आपकी समस्या हल हो जाएगी।


2
ध्यान दें कि यह केवल लिनक्स (और विशेष रूप से डेबियन लिनक्स) के तहत काम करता है।
ग्वेनेथ लेलेवेन

6

कृपया अपने addtype निर्देशों पर एक नज़र डालें।

यह मुझे ऐसा लगता है जैसे अपाचे ब्राउज़र को बता रहा है कि वह .php5 एक्सटेंशन वाली स्क्रिप्ट्स के लिए एक दस्तावेज़ प्रकार का एप्लिकेशन / php भेज रहा है। वास्तव में Apache ब्राउज़र को यह बताने वाला है कि स्क्रिप्ट टेक्स्ट / html को आउटपुट कर रही है।

कृपया इसे आज़माएँ:

AddType text/html .php

ऊपर दिए गए सुझाव के बारे में आपको ब्राउज़र को बताना चाहिए कि आप एक PHP स्क्रिप्ट का उत्पादन कर रहे हैं: यह मेरे लिए एक असामान्य विचार की तरह लग रहा था। मैंने इसे देखा और पाया कि वेब पर इसके बारे में काफी चर्चा है। जाहिरा तौर पर ऐसे मामले हैं जहां आप यह कहना चाह सकते हैं कि आप एक PHP स्क्रिप्ट भेज रहे हैं (भले ही Apache स्क्रिप्ट को निष्पादित करने और पाठ / html को निकालने के लिए माना जाता है), और ऐसे मामले भी हैं जहां ब्राउज़र बस उस विशिष्ट माइम को नहीं पहचानता है प्रकार।

अपना ब्राउज़र कैश साफ़ करना हमेशा एक अच्छा विचार है।

यदि यह यहाँ सहायक हो तो CentOS 5.9 चलाने वाले सर्वर से मेरी /etc/httpd/conf.d/php.conf फ़ाइल की एक प्रति है:

#        
# PHP is an HTML-embedded scripting language which attempts to make it                                             
# easy for developers to write dynamically generated webpages.                                                  
#
<IfModule prefork.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps

यह दिलचस्प है, लेकिन मेरे मामले में, यह सिर्फ पूरे PHP स्क्रिप्ट को आउटपुट करता है, इस बार HTML के रूप में स्वरूपित किया गया है (केवल ASCII के साथ स्वरूपित होने के विपरीत) - उपयोगी नहीं है! यहाँ समस्या यह है कि PHP को किसी भी तरह से सही ढंग से नहीं चलाया जा रहा है, या गलत हेडर भेजे जा रहे हैं ...
Gwyneth Llewelyn

अंतिम AddType निर्देश पर ध्यान दें (जो उपरोक्त उदाहरण में टिप्पणी की गई है), HTML में एक -phps फ़ाइल को सुंदर-मुद्रित करने का कारण बनता है। क्या यह संभव है कि आपका अपाचे विन्यास सुंदर-मुद्रण .php फाइलें हो?
सैम एज़र

5

यह आपके php के लिए आवश्यक लापता मॉड्यूल के कारण हो सकता है। मान लें कि आपके पास php7 स्थापित है, का उपयोग करके उपलब्ध php7 मॉड्यूल खोजें

sudo apt-cache search php7-*

ऊपर कमांड इंस्टॉलेशन के लिए सभी उपलब्ध PHP7 मॉड्यूल को सूचीबद्ध करेगा। आप मॉड्यूल की स्थापना शुरू कर सकते हैं जैसे,

sudo apt-get install libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-json

4

अगर आपके .htaccess में ऐसा कुछ है ... AddHandler एप्लिकेशन / x-httpd-php53 .php .php5 .php4 .php3 तो इसे कमेंट करें और दोबारा कोशिश करें कि यह मेरे लिए काम करे ...


3

मेरी भी यही समस्या है। Apache एक निश्चित वेबसाइट से php फाइलों को लोड नहीं करती है, बस इसे डाउनलोड किया जाता है। मैंने इस पोस्ट और उत्तरों को पढ़ा और मैंने देखा है कि मैंने इस लाइन को .htaccess फ़ाइल के अंतिम स्थान पर प्राप्त कर लिया है:

AddHandler x-mapp-php5.5  .php

मैंने यह टिप्पणी की है और सब कुछ ठीक है।

सभी को धन्यवाद !!!


2

5.3 से 5.4 तक अपग्रेड करने के बाद, मेरे पास पहले से एक समान मुद्दा है। लेकिन मेरा सेटअप थोड़ा अलग दिखता है क्योंकि मैं डेबियन को चला रहा हूं और PHP पृष्ठों को सर्वर के लिए fcgid का उपयोग कर रहा हूं, न कि PHP5 अपाचे / cgi मॉड्यूल। इसलिए मैंने अपग्रेड करने के बाद, यह php5_cgi भी स्थापित किया, जो मेरे fcgid सेटअप से टकराया, और अब PHP फ़ाइलों को निष्पादित नहीं करेगा।

मुझे अपाचे मॉड्यूल को निष्क्रिय करना था और अपाचे को पुनरारंभ करना था

a2dismod php5_cgi
/etc/init.d/apache2 restart

एक बार php5_cgi मॉड्यूल रास्ते से बाहर हो जाने के बाद, fcgid फिर से PHP पृष्ठों की सेवा करने में सक्षम था।


हाँ, यह मुश्किल cgi कमीने ^ ^ 5.3 से 5.4 से php अद्यतन करने के बाद मेरी समस्या का हल भी डॉटडेब से।
Emii Khaos

2

मेरे समान लक्षण थे, फिर भी एक और समाधान: /etc/apache2/mods-enabled/php5.conf में टिप्पणी में एक उपयोगी सलाह थी, जिसका मैंने अनुसरण किया:

# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.

2

यदि कोई Linux वातावरण में php7 का उपयोग कर रहा है

सुनिश्चित करें कि आप php7 सक्षम करें

sudo a2enmod php7

Mysql सेवा और Apache को पुनरारंभ करें

sudo systemctl restart mysql
sudo systemctl restart apache2

2

PHP को 7.3 में अपडेट करने के बाद, PHP स्क्रिप्ट जहां पहले की तरह $ USER के बजाय www-data के साथ चलती है ।

मुझे PHP-FPM को फिर से बनाने और सक्रिय करने की आवश्यकता है:

sudo apt-get install php-fpm
sudo a2enmod proxy_fcgi setenvif
sudo service apache2 restart
sudo a2enconf php7.3-fpm
sudo service apache2 restart

Virtualmin के लिए सब कुछ ठीक था, यह सुनिश्चित करने के लिए , मैंने पुनः कॉन्फ़िगरेशन कॉन्फ़िगरेशन विज़ार्ड का उपयोग /virtual-server/check.cgiकिया Vitualmin / System Settings के

उसके बाद, Apache / PHP उन्हें चलाने के बजाय php फ़ाइलों को डाउनलोड कर रहा था। इसलिए मुझे /etc/apache2/mods-available/php7.3.confपंक्ति को टिप्पणी करने के लिए संपादित करने की आवश्यकता थीSetHandler application/x-httpd-php नीचे तरह :

<FilesMatch ".+\.ph(ar|p|tml)$">
#    SetHandler application/x-httpd-php
</FilesMatch>

अपाचे को फिर से शुरू करने के बाद, इसने मेरी समस्या हल कर दी, आशा है कि यह मदद करेगा।

ब्राउज़र कैश का भी ध्यान रखें।

मेरा सिस्टम:

Ubuntu          16.04.6 LTS
Webmin version      1.932
Usermin version     1.780
Virtualmin version  6.08
Apache version      2.4.41
PHP versions        7.3.12
PHP-FPM         7.3.12 Server

1

मैंने इसे ट्रैक करने में दो दिन बिताए और मुझे पता चला कि मैं अपनी PHP स्क्रिप्ट गलत निर्देशिका में डाल रहा हूं।

मेरे मानक Ubuntu इंस्टालेशन पर, मैं स्क्रिप्ट्स को अंदर डाल रहा था /var/www। उन्हें होना चाहिए था/var/www/html

मैंने अभी PHP का काम शुरू किया है, इसलिए मुझे नहीं पता कि मेरा समाधान उस संस्करण परिवर्तन से संबंधित है, जिससे आप गुजरे थे।


1

इससे मेरे लिए समस्या हल हो गई (मेरे पास php7 स्थापित है):

sudo apt-get install libapache2-mod-php7.0

sudo service apache2 पुनरारंभ


1

मुझे यह समस्या थी। यह पता चला कि मेरे पास नगनेक्स और अपाचे दोनों स्थापित थे और स्वचालित रूप से बूट पर शुरू हो रहे थे। समस्या यह थी कि नग्नेक्स पहले http पोर्ट से जुड़ रहा था, जिसने अपाचे को शुरू होने से रोक दिया था।


1

यह भी संभव है कि आपके पास नग्नेक्स चल रहा हो लेकिन आपका php अपाचे के साथ चलाने के लिए सेट है। सत्यापित करने के लिए, चलाएं service nginx statusऔर service apache2 statusदेखें कि कौन चल रहा है। इस मामले में कि nginx चल रहा है और अपाचे नहीं है, बस चलाएं sudo service nginx stop; sudo service apache2 startऔर आपका सर्वर अब अपेक्षित रूप से php फ़ाइलों की सेवा करेगा।


1

ठीक है ... मुझे पता है कि पहले से ही इस सवाल के 1.000.000 उत्तर हैं, - लेकिन मैंने कम से कम 6 प्रभावी घंटे बिताए हैं, यह एक अनुमान लगा रहा है; और मैंने इसे सैकड़ों बार देखा है और इसके बारे में एक भी पोस्ट नहीं पाया है। इसलिए मुझे लगा कि मैं अपनी समस्या का हल यहां जोड़ दूंगा।

निष्कर्ष

अगर मैं इन दो पंक्तियों में अपने .conf- फाइलों में टिप्पणी करता हूं /etc/apache2/[[SERVER-NAME].conf:

php_admin_value engine Off
IPCComTimeout 31

मुझे नहीं पता कि वे क्या करते हैं या वे वहां कैसे पहुंचे, - लेकिन यह मेरे हर एक में है .conf। और अगर मैं उन पंक्तियों को हटा देता हूं और यह सुनिश्चित करता हूं कि एक सिंपलिंक इन- /etc/apache2/sites-enabled/फोल्डर है, तो यह index.php को डाउनलोड नहीं करता है - और हर काम को उसी रूप में करना चाहिए।

पूरी कहानी

मेरे पास VirtualMin एक Ubuntu 16.04 VPS पर स्थापित है। मैंने PHP संस्करण 7.2 में अपग्रेड किया। उसके कुछ समय बाद, मैंने उबंटू-संस्करण को अपडेट किया और 'कर्नेल ऑफसेट: डिसएबल्ड-एरर' पर प्रहार किया। इसलिए मुझे नवीनतम उबंटू-संस्करण को हटाना पड़ा, - और जब मेरे ओएस ने फिर से बूट किया: बूम! मुझे यह त्रुटि मिली कि उसकी पोस्ट के बारे में बात करता है: मेरे VPS की प्रत्येक साइट के लिए, उसने इसे दिखाने के बजाय केवल index.php डाउनलोड किया।

मैंने सभी प्रकार के सामान आज़माए:

  • PHP7.2 को निकाला और PHP5.6 स्थापित किया (मुझे अब पता है, कि PHP- संस्करण का इससे कोई लेना-देना नहीं है; यह अपाचे-कॉन्फ़िगरेशन है जिसे काम की आवश्यकता है)।
  • मौजूदा इंस्टॉलेशन पर अपाचे मॉड्यूल को सक्षम और अक्षम करने की कोशिश की, लेकिन भाग्य के बिना।
  • फिर मैंने अपाचे को पूरी तरह से हटा दिया और इसे फिर से स्थापित किया, जहां-जहां समस्या अभी भी थी!
  • VirtualMin (Webmin) सर्वर >> Apache Webserver) में वायरल सर्वर सेटअप के साथ खेलने की कोशिश की।
  • किसी एकल वर्चुअल-सर्वर (वर्चुअलाइमिन >> सिस्टम सेटिंग्स >> री-चेक कॉन्फ़िगरेशन) पर कॉन्फ़िगरेशन की जांच की ... यह कदम बहुत अच्छा था, क्योंकि उसने बताया कि अपाचे में कौन सा मॉड्यूल गायब था; जहाँ-के बाद मैं इसके साथ सक्षम हो सका a2enmod [MODULE_NAME]। और मुझे Googling के आसपास मॉड्यूल का नाम मिला। मुझे 6-8 मॉड्यूल के बारे में सक्रिय होना था, इससे पहले कि मैं सत्यापन में वह कदम उठाता - और कैश को बाहर निकलने में कुछ मिनट लगते, - इसलिए ऐसा करना एक थकाऊ कदम था।
  • और अंत में, मैंने उपरोक्त लिखित निष्कर्ष निकाला - एक साथ सिम्बलिंक के साथ, - और फिर मुझे यह काम करने के लिए मिला। मुझे अपने वीपीएस पर प्रत्येक साइट के लिए इसके माध्यम से जाना था, हालांकि।

0

मुझे पुराने संस्करण से php5 को 5.5.9 पर अपग्रेड करते समय ओपी के समान समस्या थी, जो कि मिंट 17 के साथ स्थापित संस्करण है।

मैं अपने स्थानीय नेटवर्क पर एक मशीन पर एक LAMP सेटअप चला रहा हूं, जिसका उपयोग मैं वास्तविक लाइव सर्वर पर उन परिवर्तनों को अपलोड करने से पहले वेबसाइटों में परिवर्तन का पूर्वावलोकन करने के लिए करता हूं। इसलिए मैं वास्तविक साइट का एक सही स्थानीय दर्पण बनाए रखता हूं।

अपग्रेड के बाद, वास्तविक साइट पर पूरी तरह से चलने वाली और प्रदर्शित होने वाली फाइलें प्रदर्शित नहीं होंगी, या केवल स्थानीय मशीन पर ही html प्रदर्शित होंगी। PHP को पार्स नहीं किया गया था। Phpinfo () कमांड ने काम किया, इसलिए मुझे पता था कि php अन्यथा काम कर रहा है। लॉग ने कोई त्रुटि उत्पन्न नहीं की। पृष्ठ स्रोत देखने से मुझे वास्तविक php कोड दिखाई दिया।

मैंने एक test.php पेज का निर्माण किया था जिसमें निम्नलिखित कोड थे:

<?php phpinfo(); ?>

यह काम किया। तब मुझे पता चला कि जब मैं कमांड में बदल <?phpगया <?तो काम नहीं किया। मेरी सभी php साइटें <?इसके बजाय उपयोग करती हैं , <?phpजो आदर्श नहीं हो सकती हैं, लेकिन यह वास्तविकता है। मैंने / etc / php5 / apache2 पर जाकर, "short_open_tag" की खोज करके और ऑफ़ से ऑन में मान बदलकर समस्या को ठीक किया।


0

यदि उपरोक्त में से कोई भी काम नहीं करता है,

लाइन से टिप्पणी करने का प्रयास करें

SetHandler ....

और अपाचे का उपयोग करके पुनः आरंभ करें

/etc/init.d/httpd restart

यह काम करना चाहिए!



0

मुझे इस तरह की समस्या हुई। मैं इसे हल करता हूं। अपाचे को स्थापित करने के बाद मैंने इस कमांड का उपयोग करके PHP स्थापित किया ।

sudo apt-get install php libapache2-mod-php

यह सही ढंग से निष्पादित करता है, लेकिन मैं अपाचे से .php फ़ाइल का अनुरोध करता हूं , यह PHP स्क्रिप्ट को निष्पादित किए बिना देता है ।

तब मैं जाँच करता हूँ कि PHP सक्षम है।

$ cd /etc/apache2
$ ls -l mods-*/*php*

लेकिन इसका कोई परिणाम नहीं दिखा। मैं स्थापित PHP संकुल की जाँच करें।

$ dpkg -l | grep php| awk '{print $2}' |tr "\n" " "

मेरे कंप्यूटर पर विभिन्न प्रकार के PHP संस्करण स्थापित हैं। फिर मैंने apt-get purge का उपयोग करते हुए अपनी पिछली सूची से कुछ PHP पैकेजों को हटा दिया ।

sudo apt-get purge libapache2-mod-php7.0 php7.0 php7.0-cli php7.0-common php7.0-json

मैं PHP को पुनर्स्थापित करता हूं

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

सत्यापित करें कि PHP मॉड्यूल लोड है

$ a2query -m php7.0

यदि इसके साथ सक्षम नहीं है:

$ sudo a2enmod php7.0

Apache सर्वर को पुनरारंभ करें

$ sudo systemctl restart apache2

अंत में, मैं Apache पर PHP प्रक्रिया की जाँच करता हूँ

एक खाली फ़ाइल बनाएँ

sudo vim /var/www/html/info.php

इस सामग्री को info.php & save में जोड़ें।

<?php
  phpinfo();
?>

ब्राउज़र पर जाँच करें:

http: //localhost/info.php

यह सही ढंग से पता चलता है। मुझे लगता है कि यह किसी को भी मदद करेगा।


0

मुझे यह समस्या थी और यदि आपने वास्तव में अपनी सर्वर कॉन्फ़िगरेशन सेटिंग्स के साथ कभी नहीं खेला है, तो आपकी समस्या आपकी .htaccess फ़ाइल में 90% है

आप या तो संशोधित करें .htaccess फ़ाइल LOCALLY, अयस्क इसे हटा दें (LOCALLY)


0

यदि आपके पास virtualmin इन पंक्तियों को / etc / apache2 / साइटों में उपलब्ध अपाचे कॉन्फ़िगरेशन में टिप्पणी करने का प्रयास करता है

  #RemoveHandler .php
  #RemoveHandler .php7.0
  #php_admin_value engine Off

0

जब मैंने PHP 7.2 से PHP 7.4 में अपग्रेड किया, तो मुझे भी यही मुद्दा मिला। निम्नलिखित कार्य करके: -

  1. में [domain].conf file, निम्नलिखित टिप्पणी की:

    php_admin_value इंजन बंद

और जोड़ा:

AddType  application/x-httpd-php-source  .phps
AddType text/html .php
  1. मॉड 7.2 को अक्षम करें और निम्न द्वारा 7.4 सक्षम करें:

    a2dismod php7.2
    a2enmod php7.4

  2. में /etc/apache2/mods-enabled/php7.4.confफ़ाइल है, तो निम्न टिप्पणी:

    SetHandler एप्लिकेशन / x-httpd-php
    php_admin_flag इंजन बंद


0

जिन लोगों को यह पोस्ट भविष्य में (और उसके बाद!) लगभग 6 वर्षों में Google से मिली है, आप UserDirमॉड्यूल का उपयोग करते समय Apache 2 और PHP 7 के साथ इस समस्या में भाग सकते हैं ।

इस समस्या का एक अन्य संभावित कारण यह हो सकता है कि आप स्क्रिप्ट को "उपयोगकर्ता निर्देशिका" में UserDirमॉड्यूल से चलाने का प्रयास कर रहे हैं । उपयोगकर्ता निर्देशिकाओं में PHP स्क्रिप्ट चलाना डिफ़ॉल्ट रूप से अक्षम है। यदि स्क्रिप्ट public_htmlआपके होम फ़ोल्डर में निर्देशिका में है और आप इसे एक्सेस करने का प्रयास कर रहे हैं, तो आप इस समस्या में चलेंगेhttp://localhost/~your_username

इसे ठीक करने के लिए, खोलें /etc/apache2/mods-enabled/php7.2.conf। आपको नीचे पढ़े टैग ब्लॉक पर टिप्पणी या हटाना होगा

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

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