अपाचे प्रारंभ करें "php मान"


12

अपने vps को अपडेट करने के बाद, मुझे निम्नलिखित त्रुटि मिलती है:

अपाचे शुरू करने में विफल: httpd: सिंटैक्स त्रुटि 31 /etc/httpd/conf.d/php.conf की पंक्ति में त्रुटि: अमान्य कमांड 'php_value', संभवतः सर्वर द्वारा कॉन्फ़िगर नहीं किए गए एक मॉड्यूल द्वारा गलत वर्तनी या परिभाषित [FAILED]

PHP पर मॉड्यूल सक्षम करें:

[PHP मॉड्यूल] bz2 कैलेंडर कोर ctype कर्ल डेट डोम ereg exif fileinfo फ़िल्टर ftp gd gettext gmp hash iconv imap intl ionCube लोडर json libxml mbstrypt mcsh msq mysqli mysqli opensl pcntl pcrel pcdo.do-ddo.do/dow/ wddx xml xmlreader xmlrpc xmlwriter xsl zip zlib [Zend Modules] आयनक्यूब PHP लोडर

त्रुटि के सापेक्ष रेखा:

php_value session.save_handler "files"

त्रुटि का क्या मतलब है और मैं इसे कैसे ठीक कर सकता हूं?

जवाबों:


12

मैं हाल ही में CentOS पर Plesk 9.5 का उपयोग करके इस सटीक समस्या में भाग गया।

मैं यह सुनिश्चित करने के लिए नहीं कह सकता कि यह Plesk के अपडेट के कारण हुआ था या नहीं। ग्राहक को नहीं लगता कि हाल ही में कोई बदलाव किए गए थे, लेकिन अपाचे इस त्रुटि के साथ शुरू करने में विफल रहा।

यह सुनिश्चित करने के लिए सिस्टम के एक आश्वासन के बाद कि यह एक ब्रीच के कारण नहीं था, मैंने कुछ समस्या निवारण किया और निर्धारित किया कि mod_phpअपाचे कॉन्फ़िगरेशन से हटा दिया गया था। Plesk सेटिंग्स की जाँच करने के बाद, बॉक्स पर प्रत्येक vhost FastCGI और SuExec का उपयोग कर रहा था।

FastCGI और SuExec का उपयोग करते समय, आप php.conf (FastCGI) और .htaccess (SuExec) में PHP निर्देशों को नहीं बदल सकते हैं।

ग्राहक ने मूल रूप से आपत्तिजनक लाइनों पर टिप्पणी की थी, लेकिन इसने हर चीज के लिए सत्र समर्थन तोड़ दिया। जिस तरह से मैं इसे हल करने में सक्षम था, वह http_php वापस httpd.conf में मैन्युअल रूप से जोड़ना था।

अन्य LoadModule के साथ अनुभाग में निम्न पंक्ति जोड़ें। सुनिश्चित करें कि पथ (../modules/) बाकी मॉड्यूल से मेल खाता है। संभावना अच्छी है कि यह पहले से ही आपके सिस्टम पर मौजूद है और अपडेट के दौरान इसे केवल कॉन्फ़िगरेशन से हटा दिया गया था।

bash# vi /etc/httpd/conf/httpd.conf
LoadModule php5_module ../modules/libphp5.so

bash# apachectl restart

इसने मुझे बंद गार्ड को पकड़ लिया, और मैं यह सुनिश्चित करने के लिए नहीं कह सकता कि यह अपग्रेड है जो समस्या का कारण है या क्या यह सबसे अच्छा फिक्स है। मैं टिप्पणी के लिए खुला हूं, लेकिन php निर्देशों को टिप्पणी करने के खिलाफ अत्यधिक सलाह देता हूं /etc/httpd/conf.d/php.confक्योंकि यह सामान तोड़ देगा।


धन्यवाद डेविड, दिन बचाया। मेरा yum log 5.3.26 php पर एक ऑटो अपडेट दिखाता है लेकिन वास्तव में समझ में नहीं आता है कि httpd.conf क्यों लिखा गया था। सादर

धन्यवाद! मैं httpd.conf में गया और मैंने देखा कि लाइन लोडमोडुले php5_module pathfilename पर टिप्पणी की गई थी, मैंने अभी # हटा दिया है और सब कुछ सामान्य हो गया है।
निकोल

मैंने यह त्रुटि Ubuntu 16.04 से 18.04.1 तक के अपग्रेड के बाद प्राप्त की। मुझे इसका कारण नहीं पता है और कोई मॉड्यूल्स डायरेक्टरी नहीं है, इसके बजाय एक मॉड्स-अवेलेबल और मॉड-इनेबल्ड डायरेक्टरी है। मैंने php7.2.conf और php7.2.conf के लिए सिम्लिंक जोड़े हैं। mods- उपलब्ध इंगित करने के लिए mods- सक्षम इंगित करने के लिए लोड करें और फिर apache2 शुरू करने में सक्षम था।
क्रिस जेनक्स

6

अमान्य कमांड 'php_value', संभवतः सर्वर कॉन्फ़िगरेशन में शामिल नहीं किए गए मॉड्यूल द्वारा गलत वर्तनी या परिभाषित किया गया है

अपाचे httpd-2.4 उपरोक्त त्रुटि के साथ विफल हो सकता है यदि आप गलती से इसे प्रीफ़ॉर्क की तुलना में अन्य mpm मॉड्यूल का उपयोग करने के लिए कॉन्फ़िगर करते हैं (जैसा कि केवल prefork mpm लिनक्स (CentOs7 / RHEL7) पर php के साथ ठीक काम करता है। Prefork mpm का उपयोग करने के लिए Apache httpd कॉन्फ़िगरेशन को सही करेगा। समस्या।

  1. /etc/httpd/conf.modules.d/10-php.conf

    LoadModule php5_module मॉड्यूल / libphp5.so

  2. /etc/httpd/conf.modules.d/00-mpm.conf

    LoadModule mpm_prefork_module मॉड्यूल / mod_mpm_prefork.so


1

यदि आप Apache को mod_prefork की तुलना में अन्य MPM का उपयोग करने के लिए कॉन्फ़िगर करते हैं तो यह हो सकता है। जाँच करें कि httpd -Vकमांड द्वारा मॉड्यूल का उपयोग क्या है । यह आपको कुछ इस तरह दिखाना चाहिए:

...
Server MPM: prefork
...

यदि ऐसा नहीं है, तो जांच करें

/etc/httpd/conf.modules.d/00-mpm.conf

जैसा यहाँ वर्णित है और सुनिश्चित करें कि अगली पंक्ति इसमें मौजूद है और असम्बद्ध है:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

मामले में आपको अन्य मॉड्यूल का उपयोग करने की आवश्यकता है, जिससे mod_preforkआपको इन पंक्तियों पर टिप्पणी या हटाना होगा।


1

जैसा कि डेविड ने पहले टिप्पणी की थी, यह संभावना है क्योंकि पीएचपी मोड को अपाचे 2 से अक्षम कर दिया गया है।

मेरे लिए, यह अपाचे शुरू करते समय (फिर से) एक त्रुटि के रूप में दिखाई दिया:

Apache2.service के लिए नौकरी विफल रही क्योंकि नियंत्रण प्रक्रिया त्रुटि कोड के साथ बाहर निकल गई। विवरण के लिए "systemctl स्टेटस Apache2.service" और "journalctl -xe" देखें।

इसके बाद, journalctl -xe के अंदर:

AH00526: /etc/apache2/sites-enabled/host.conf अमान्य कमांड 'php_value' की लाइन 31 पर सिंटैक्स त्रुटि, शायद सर्वर कॉन्फ़िगरेशन में शामिल नहीं किए गए किसी मॉड्यूल द्वारा गलत वर्तनी या परिभाषित की गई

यह उबंटू 17.10 से 18.04 (और PHP7.1 से 7.2 के परिणाम में) में अपग्रेड करते समय हुआ, जो कि स्पष्ट रूप से libapache2-mod-php * को पूरी तरह से अक्षम करता है।

उबंटू पर, निम्नलिखित को इसे ठीक करना चाहिए:

sudo a2enmod php7.2
sudo systemctl restart apache2

0

बस उन पंक्तियों पर टिप्पणी करें।

मैं था

#php_value session.save_handler "files"
#php_value session.save_path    "/var/lib/php/session"

फिर "पुन: कॉन्फ़िगर करें यदि आपके प्लेस्क में है, तो फिर से शुरू करें अपाचे" ठीक काम करने के लिए लग रहा था। # 53 10mins पहले plesk अपडेट के बाद ऐसा हुआ था।


नमस्ते, मैं Zpanel का उपयोग कर, Plesk का उपयोग नहीं कर रहा हूँ। मुझे पुन: कॉन्फ़िगर करने की आवश्यकता है? धन्यवाद
डेविड ई।

मैंने मूल रूप से उन पंक्तियों को हटा दिया था और फिर एक अपाचे पुनरारंभ इसे ठीक कर सकता है। लेकिन मुझे plesk में vhost को फिर से कॉन्फ़िगर करना पड़ा। यह सिर्फ एक बटन है, यह सुनिश्चित नहीं है कि cpanel में बराबर है।
जिमी

यह थोड़ा परेशान करने वाला है। यह कोर php का हिस्सा है - आपको सत्र समर्थन को अक्षम करने के लिए संकलन समय पर हुप्स के माध्यम से कूदने की आवश्यकता है। और मैनुअल के अनुसार, वे दोनों PHP_INI_ALL में परिवर्तनशील हैं (लेकिन यह php_admin_valp आज़माने लायक हो सकता है)। क्या आपका सत्र हैंडलर काम करता है? क्या आप mod_php का उपयोग कर रहे हैं?
सिम्बियन

1
बस यही हुआ था। अपमानजनक पंक्तियों पर टिप्पणी करने से अपाचे शुरू हो जाएगा, लेकिन अन्य चीजों के बीच सत्र समर्थन को हटा देता है। संभावनाएं mod_php अक्षम थीं। मैं Plesk का भी उपयोग कर रहा हूं।
डेविड होउडे

0

परमाणु से अपग्रेड चलाने से पहले फाइल का बैकअप बना लें php.conf। फिर अपग्रेड पूरा होने के बाद पुरानी के साथ नई फ़ाइल को अधिलेखित करें।


0

मुझे भी इसी तरह की समस्या थी, एहसास हुआ कि php5 मॉड्यूल पर टिप्पणी की गई थी, जिसका अर्थ है कि लोड नहीं हो सकता है और phpmyadmin में यह मुझे php_admin_value होने के कारण त्रुटियां दे रहा था जो शायद php5_module के साथ काम कर रहा था और यह जगह में नहीं था। मैं httpd.conf और असहज हो गया:

LoadModule php5_module "c:/wamp/bin/php/php5.5.12/php5apache2_4.dll"

0

संपादित करें : नीचे अपनी टिप्पणियों को लागू करने के बाद, मैंने पाया कि इस मुद्दे पर मैं एक और कारण था। सर्वर में PHP-FPM लागू है। PHP-FPM के कार्यान्वयन का एक हिस्सा /etc/httpd/conf.d/php.confथा जिसका अर्थ था कि अक्षम (यानी नाम बदलकर php.conf.bak)। हाल ही में अद्यतन एक नया php.conf में लाया गया। परिणामस्वरूप PHP-FPM कॉन्फ़िगरेशन परस्पर विरोधी था और त्रुटियों का उल्लेख करता था। तय यह था कि php.conf को कुछ इस तरह बदला जाए php.conf.bak.feb2019। नतीजतन, php.conf लोड नहीं होता है और इसलिए php-fpm के साथ कोई संघर्ष नहीं है।

/// संपादित करने से पहले: /////

मेरे लिए समाधान यहां दिए गए उत्तरों का एक संयोजन था।

मैंने ओरेकल लिनक्स 7 सर्वर को अपडेट करने के बाद इस त्रुटि को देखा था जिसे लंबे समय तक अपडेट नहीं किया गया था

जैसा कि @dasharathmasirkar, @davidhoude @alexlanger द्वारा सुझाया गया है, समस्या अपडेट के बाद mpm prefork config से अधिक होने से उपजी है।

इस पर बात करो:

जाँच करें /etc/httpd/conf.modules.d/00-mpm.confऔर सुनिश्चित करें कि निम्न पंक्ति अपूर्ण है:

# prefork MPM: Implements a non-threaded, pre-forking web server
# See: http://httpd.apache.org/docs/2.4/mod/prefork.html
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

इसके अलावा, सुनिश्चित करें कि दूसरे श्रमिक mpm पर टिप्पणी की गई है ताकि यह संघर्ष न करे:

# worker MPM: Multi-Processing Module implementing a hybrid
# multi-threaded multi-process web server
# See: http://httpd.apache.org/docs/2.4/mod/worker.html
# LoadModule mpm_worker_module modules/mod_mpm_worker.so

फिर से शुरू करें अपाचे: apachectl restart

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