Mac OS X Lion में PHP.ini कहाँ है? सोचा यह / usr / स्थानीय / php5 / lib में था


268

मैं अपने मैक पर कुछ PHP सही चलाना चाहता था, httpd.conf, वेब साझाकरण को सक्रिय करना, MySQL आदि को स्थापित करना। मैं अपनी PHP फ़ाइलों को खोजने के लिए प्रतीत नहीं कर सकता, सबसे महत्वपूर्ण बात, PHP.ini।

मेरी पुरानी मशीन पर यह / usr / लोकल / php5 / lib में स्थित था, लेकिन php5 डायरेक्टरी / usrv / ।। में मौजूद नहीं है।

क्या मुझे एक पैकेज प्राप्त करने की आवश्यकता है या क्या मैं गलत जगह देख रहा हूं?

OS X 10.7.3, PHP 5.3.8, Apache / 2.2.21 चल रहा है


9
स्थान ढूंढने का एक आसान तरीका phpinfo () चलाना है;
रैलफे

10
याlocate php.ini
पेकका

12
@ralfe यह जोड़ा जाना चाहिए कि आपको phpinfo () या php --ini(टर्मिनल विंडो में रन ) से 'लोड की गई कॉन्फ़िगरेशन फ़ाइल' सेटिंग देखने की आवश्यकता है । क्योंकि अगर कोई php.ini नहीं है, तो वे दोनों विन्यास फाइल पथ को रिपोर्ट करेंगे /etc(कम से कम मेरे OS X 10.8 इंस्टॉल पर)। यदि कोई कॉन्फ़िगरेशन फ़ाइल लोड नहीं है, तो आपको मैक
जेसन एस

/ usr / लोकल / php5 वह जगह है जहाँ entropy.ch और liip.ch का php-इंस्टॉलर (ed) php स्थापित होता है। यह ऐप्पल php- इंस्टॉलेशन का स्थान कभी नहीं रहा।
हेइग्लैंड्रेस

8
ऐसा करेंphp -i | grep php.ini

जवाबों:


396

यदि यह मौजूद है तो आपको इसे / निजी / आदि में ढूंढना चाहिए, अन्यथा:

sudo cp /private/etc/php.ini.default /private/etc/php.ini

ठीक है, एक php.ini.default in / Private / etc है और मैं इसे देख रहा हूं। लेकिन किसी भी विचार क्यों मैं usr / स्थानीय में मेरे पुराने php5 फ़ोल्डर नहीं है? वहाँ एक अनुशंसित php.ini सहित फ़ाइलों का एक गुच्छा हुआ करता था। क्या यह एक नए संस्करण या PHP5 या शेर या कुछ और में बदलाव है?
ओरुन

PHP5 को php.ini फ़ाइल के लिए उपरोक्त स्थान के साथ 10.5 के बाद से MacOS X में डिफ़ॉल्ट रूप से शामिल किया गया है। यदि आपने इसे मैन्युअल रूप से स्थापित किया था, तो इसे शेर के उन्नयन के दौरान हटाया नहीं जाना चाहिए था; अजीब ...
मैक

2
जब कोई php.ini मौजूद नहीं था, तो मेरे लायन मशीन पर php.ini.default फ़ाइल सभी डिफ़ॉल्ट सेटिंग्स से मेल नहीं खाती थी। विशेष रूप से short_tags बंद था, Error_reporting, log_errors, और कुछ छोटी सेटिंग्स अलग थीं। आप php -iअपना php.ini बनाने से पहले और बाद के अपने आउटपुट की तुलना करना चाहेंगे ।
शूलसन २ sp

1
मेरे मैक पर, मेरे पास /pStreet/etc/php.ini पर एक फ़ाइल थी, लेकिन php को मेरे द्वारा किए गए किसी भी बदलाव को अनदेखा करना प्रतीत हो रहा था, उसने पाया कि यह /usr/local/php5/lib/php.ini में से एक का उपयोग कर रहा था
किट रामोस

2
इस जवाब ने मुझे सही दिशा की ओर इशारा किया। cp php.ini.default> php.ini और CLI भरी हुई कॉन्फ़िगरेशन /etc/php.ini बन गई। चेक php -i | grep php.ini के बाद
bpile

407

अपनी मशीन पर ini फ़ाइल का पता लगाने के लिए, Terminal.appनिम्न कमांड खोलें और चलाएँ:

php --ini

यदि आपको शेर के लिए एक टेम्पलेट की आवश्यकता है, तो यह प्रयास करें


2
मेरे पास अभी कोई php.ini नहीं है। मूल रूप से मैं "अनुशंसित" php.ini टेम्पलेट के साथ निर्देशिका की तलाश कर रहा हूं।
ओरुन

47

टर्मिनल में करते हैं php -i | grep php.ini। आपको कुछ सुराग देना चाहिए;)


26

@ क्रोनक और @ जस्टिन के उत्तर मुझे मैक ओएस एक्स 10.9 मावेरिक्स के करीब मिले। वास्तव में, मेरे सिस्टम पर /etc/php.iniफ़ाइल पूरी तरह से गायब थी, और यह तब तक नहीं था जब तक phpinfo()कि मैं वेब सर्वर पर नहीं चला था कि मैंने देखा कि कोई कॉन्फ़िगरेशन फ़ाइल नहीं थी। फ़ाइल से प्रतिलिपि बनाना /etc/php.ini.defaultऔर कॉन्फ़िग फ़ाइल में लायब्रेरी के लिए पूरी तरह से योग्य पथ को जोड़ने से mcrypt.soसमस्या हल हो गई:

cp /etc/php.ini.default /etc/php.ini

फिर /etc/php.iniनिम्न पंक्ति (अपनी mcrypt.soफ़ाइल में सही पथ का उपयोग करके ) जोड़ें:

extension="/usr/local/Cellar/php54-mcrypt/5.4.29/mcrypt.so"

फिर Apache2 को फिर से शुरू करें:

apachectl restart

omg, तुम मेरे हीरो हो !! mcrypt के पूर्ण पथ का उपयोग करने के विचार के लिए धन्यवाद!
हेज नोव

25

जैसा कि बताया गया है, php --iniकमांड आपको बताएगा कि PHP php.ini फ़ाइल को खोजने की उम्मीद कर रहा है।

एक मानक स्थापना के लिए, इसकी तलाश की जा सकती है /etc/php.ini

यदि आपने macports का उपयोग किया है तो PHP की तलाश हो सकती है/opt/local/etc/php5/php.ini


7
आदि निजी / आदि के लिए एक कड़ी है: / आदि -> निजी / आदि
pm_labs

21

phpinfo()किसी भी फ़ाइल से चलाएँ और यह आपको बताता है कि वह कहाँ है। यहाँ एक स्क्रीनशॉट है।

यहां छवि विवरण दर्ज करें


3
यह जाने का सबसे अच्छा तरीका है, जैसा कि आप अन्य "डिफ़ॉल्ट" फ़ोल्डरों में php.ini की प्रतियां पा सकते हैं, लेकिन यह तरीका आपको वह बताएगा जो वह वास्तव में उपयोग कर रहा है, इसलिए आप जिस तरह से आने पर सिर को खरोंचने और हताशा से बचाते हैं एक बदलाव करें लेकिन php उक्त परिवर्तन से पूरी तरह से अनभिज्ञ प्रतीत होता है।
किट रामोस

आप अपने खोल में php REPL भी खोल सकते हैं php -aजहाँ आप दौड़ते हैं phpinfo();
मेटाकार्मेट

14

मेरे पास एक से अधिक बार PHP चलाने का उदाहरण है, इसलिए अन्य उत्तर मेरे काम नहीं आए। यह किया:

एक PHP फ़ाइल बनाएँ और अपने ब्राउज़र में उसका स्थानीय यूआरएल खोलें:

<?php phpinfo(); ?>

PHP.INI पथ शीर्ष के करीब सूचीबद्ध किया जाएगा।


3

यह बल्कि पुराना धागा है, लेकिन मैं एक और स्पष्टीकरण जोड़ना चाहूंगा।

यदि आपके पास एक ऐसी प्रणाली है जिसमें कई PHP इंस्टॉलेशन हैं (जैसे मेरा किया) तो परिणाम आप कमांड लाइन टूल्स MAY BE का उपयोग करने से प्राप्त करेंगे जो वास्तव में वेब सर्वर द्वारा उपयोग किए जाने वाले से अलग है। यदि आप रुचि रखते हैं कि वेब सर्वर द्वारा PHP का क्या उपयोग किया जा रहा है, तो केवल 'phpinfo ()' फ़ंक्शन का उपयोग करने वाले वेब पेज से एकत्रित जानकारी का उपयोग करें।

उदाहरण के लिए, मेरे सिस्टम पर दो अलग-अलग तरीकों से रिपोर्ट किए गए संस्करण थे:

कमांड लाइन: 5.3.26

वेब: 5.3.13

Php.ini फ़ाइल पथ के लिए चीजें अलग-अलग थीं:

कमांड लाइन: / pStreet/etc/php.ini

वेब: / लॉन्ग / पीपीथ / ओटी / ओफ़ाइल / एफपी.इन

आप इसका उपयोग करके सभी संभव php.ini फाइलें पा सकते हैं:

find /name php.ini 2> & 1 | grep -v "अस्वीकृत" | grep -v "निर्देशिका"

('2> & 1' और 'grep' तत्व केवल कमांड के आउटपुट को उपयोगी सूचना तक सीमित रखते हैं, अर्थात त्रुटि से छुटकारा दिलाते हैं)

अपने सिस्टम पर मुझे 3 INI फाइलें मिलीं। क्योंकि मुझे इस बात में दिलचस्पी थी कि वेब सर्वर क्या उपयोग कर रहा था, मुझे पता था कि मुझे वेब-पेज के परिणामों से लौटे पथ का उपयोग करना चाहिए। मैंने php.ini फ़ाइल में अपने बदलाव किए, जो वहाँ सूचीबद्ध थी, अपाचे को फिर से शुरू किया और वेब पेज को फिर से चलाया; नए संपादन वहां दिखाए गए थे।

अपाचे को पुनः आरंभ करने के लिए:

sudo apachectl -k पुनरारंभ

-- जे


1

मैं 'हैलो वर्ल्ड' के साथ शुरुआत करता हूं, एक बार जब मैं अपने ब्राउज़र में प्रदर्शित करता हूं तो मैं phpinfo();वहां फेंक देता हूं और आप सभी चीजों को देख सकते हैं। आपको बताता है कि कौन से कॉन्फ़िगरेशन लोड किए गए हैं, सब कुछ।

<?php
   echo 'Hello World!';

   phpinfo();

0

आप php_info चलाते हैं () और लाइन bellow देखें :)

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