Php.ini, wp-config এবং .htaccess এ কথা বলতে গেলে ওয়ার্ডপ্রেস কোনটিকে অগ্রাধিকার দেয়?


10

ধরা যাক আমি একটি ওয়ার্ডপ্রেস ওয়েবসাইটের সর্বাধিক আপলোড সীমাটি পরিবর্তন করতে চাই এবং আমি নিম্নলিখিত মানগুলি দিই:

wp-config.php: 128MB php.ini: 256MB .htaccess: 64MB

সুতরাং, প্রয়োজন অনুযায়ী প্রক্রিয়া করার সময় কোনটি ওয়ার্ডপ্রেস অগ্রাধিকার দেবে?

উত্তর:


13

এটা আপনার প্রশ্ন থেকে পরিষ্কার না কি এই ফাইলগুলি প্রতিটি পরিবর্তন করা হয়, কিন্তু আমি প্রতিটি ক্ষেত্রে এটা হয় অনুমান পিএইচপি সেটিংupload_max_filesize

সাধারণভাবে, এই ক্রমে সেটিংস প্রয়োগ করা হবে, প্রতিটি পূর্বের মানকে ছাড়িয়ে যাবে:

  1. php.ini
  2. .Htaccess এ অ্যাপাচি নির্দেশনা
  3. কল ini_set()

যাইহোক, এই সেটিংটি হিসাবে সংজ্ঞায়িত করা হয়েছে PHP_INI_PERDIR, যা এই পৃষ্ঠায় ব্যাখ্যা করা হয়েছে এর অর্থ এটি ব্যবহার করে সেট করা যায় না ini_set, সুতরাং এটি wp-config.phpপরিবর্তন করতে পারে না। সুতরাং আপনি যে উদাহরণটিতে প্রশ্নটি দিয়েছেন তা it৪ এমবি এর htaccess থেকে মান গ্রহণ করবে।

আপনি echo ini_get('upload_max_filesize');আপনার কোডের কোথাও চালিয়ে এটি যাচাই করতে পারেন ।

মনে রাখবেন যে অন্যান্য স্থানের মানগুলি সেট করা যেতে পারে যা আমি উপরে তালিকাভুক্ত করিনি, যেমন প্রতি ব্যবহারকারী পিএইচপি.এনইআই ফাইল এবং অন্যান্য অ্যাপাচি কনফিগারেশন প্রসঙ্গে । এছাড়াও, এর মধ্যে কিছু অক্ষম করা যেতে পারে , সুতরাং যদি আপনার সার্ভারটি .htaccess এ ওভার রাইডের অনুমতি দেওয়ার জন্য সেট না করা থাকে তবে আপনি সেখানে কোনও মান সেট করতে সক্ষম হবেন না।

আরও মনে রাখবেন যে ওয়ার্ডপ্রেসে তার নিজস্ব কিছু কনফিগারেশন ভেরিয়েবল রয়েছে, যা পিএইচপি কনফিগারেশনের সাথে বিভিন্ন উপায়ে ইন্টারঅ্যাক্ট করে। উদাহরণস্বরূপ, প্রারম্ভকালে পিএইচপি সেটিংস বাড়াতেWP_MEMORY_LIMIT চেষ্টা করবে , তবে কোড রয়েছে যা চেক করে এবং এটিকে কখনই হ্রাস করে না । এর কোনও সাধারণ নিয়ম নেই, এটি বিভিন্ন সেটিংসের জন্য পৃথক হবে।memory_limit


php.ini সর্বদা চয়ন করা প্রথম।
WpMania.Net

5

মূলত তিনটি ফাইলই বিবেচনায় নেওয়া হয়।

ওয়ার্ডপ্রেস / আপনার সার্ভার নিম্নলিখিত ক্রমে চেক করবে:

wp-config.php > .htaccess > php.ini

যদি "উচ্চ স্তরের" তে কিছু (পরে শৃঙ্খলে থাকে) আপনার মান সীমাবদ্ধ করে তবে পূর্বের মানটিকে উপেক্ষা করা হবে বা ওভাররাইট করা হবে। যদি শৃঙ্খলাটির কোনও অংশ অনুপস্থিত থাকে, .htaccessউদাহরণস্বরূপ মানটি , পরবর্তী উচ্চতরটি পরিবর্তে ব্যবহৃত হবে।

আপনার উদাহরণে এটি MB৪ মেগাবাইটের .htaccessমধ্যে সীমাবদ্ধ করবে max_upload_size, যদিও আপনার সার্ভারটি ২৫6 এমবি পর্যন্ত ভাল থাকবে এবং ওয়ার্ডপ্রেস প্রথমে ফাইল আকারে 128 এমবি পর্যন্ত গ্রহণ করবে accept

আপনি ফাইলের মাধ্যমেও আলাদা সীমা নির্ধারণ.htaccess করতে পারেন এবং php.iniএটির মাধ্যমে আপনি মানটি ওভাররাইট করতে পারেন, যাতে এটি আর প্রভাবশালী মান না হয়। এটি প্রচুর হোস্টিং পরিবেশে কাজ করে, তাই সম্ভাবনাগুলি বেশ ভাল আপনি এইভাবে বাড়িয়ে বা কমিয়ে আনতে পারেন max_upload_size

আপনার যদি আরও কঠোরভাবে কনফিগার করা হোস্টিং / সার্ভার থাকে তবে এটি থেকে সেটিংস ওভাররাইড করার বিকল্পটি php.iniঅক্ষম করা সম্ভব is এই ক্ষেত্রে, উইন ´ টি কাজ max_upload_sizeথেকে ওভাররাইড করা .htaccess, সুতরাং এটি একটি সীমাবদ্ধ ফ্যাক্টর হতে পারে।


8
প্রশ্নটি যেমন জিজ্ঞাসা করে, আপনি অগ্রাধিকারের একটি তালিকা দেওয়ার সময় এটি কীভাবে এটি "এটি কীভাবে কাজ করে না"? এবং যদি .htaccessতালিকার মাঝখানে থাকে তবে কেন এটি সীমাবদ্ধ ফ্যাক্টর হবে?
আইএমএসপ

আমি মনে করি আমার অভিব্যক্তিটি অস্পষ্ট ছিল। আমি তার প্রশ্নটি বুঝতে পেরেছিলাম "যদি আমি ডাব্লুপি-কনফিগারেশনে উচ্চ মান নির্ধারণ করি তবে তা কি অন্যদের উপর 'আধিপত্য বিস্তার করবে'?" এবং এটি এটি কাজ করে না। ;-) @ বিএনএস সে সম্পর্কে আরও ভাল ব্যাখ্যা করেছে।
flomei

ঠিক আছে, আমি এখন আপনি কি বলতে চাইছেন। যাইহোক, আমি যেমন বিএনএসের উত্তরে মন্তব্য করেছি, আপনি কোনও উচ্চতর মান দিয়ে ওভাররাইড করতে পারবেন না এমন দাবিটি সমর্থন করে কোনও ডকুমেন্টেশন খুঁজে পাচ্ছি না। আমার উত্তরে বর্ণিত হিসাবে wp-config.php মানটি সর্বদা উপেক্ষা করা হবে , তবে আমি নিশ্চিত যে .htaccess এর একটি উচ্চ মানের পিএইচপি।
আইএমএসওপি

আপনি আংশিকভাবে ঠিক, তবে .htaccess থেকে php.ini মানগুলি ওভাররাইড করে আমার আপডেট হওয়া উত্তরটি দেখুন।
flomei

আপনার আপডেটটি এখনও বোঝায় আপনি কেবলমাত্র .htaccess এর মাধ্যমে একটি নিম্ন মান সেট করতে পারেন । আমি জানি না যে আপনি সেখানে কোনও উচ্চতর মান নির্ধারণ করতে পারেন নি । প্রক্রিয়াটি অক্ষম করা যায় এই বিষয়টি একটি ভাল পয়েন্ট, এবং আমি আমার উত্তরে লক্ষ্য করেছিলাম, তবে ধরে নিচ্ছি যে কোনও পিএইচপি সেটিংস হিট্যাক্সেসে অনুমোদিত হয়, তবে .htaccess এ একটি মান php.ini এর মানটিকে একেবারে "আধিপত্য" করবে একই সেটিং জন্য।
আইএমএসওপি

3

আমি মনে করি ফ্লুমির উত্তরটি সম্পাদনা করা উচিত, কারণ এটি সঠিক উত্তর তবে খারাপ ব্যাখ্যা। Php.ini -> .htaccess -> wp-config.phpআসলে প্রতিটি ফাইলটি পড়ার আদেশ হবে এবং পূর্বে নির্ধারিত সেটিংস নেই এমন বিবেচনায় নেওয়া মানগুলি সেট করবে। তবে ক্ষেত্রে পূর্বনির্ধারিত সেটিং রয়েছে, তবে নতুন সেটিংটি কম হলে এটি "ওভার-রাইডড" হবে।

এর অর্থ, আপনার যদি M৪ এমবি দিয়ে wp-config.php এবং 32 এমবি দিয়ে .htaccess থাকে: wp-config.php সেই সেটিংটি ওভাররাইড করতে পারে না কারণ ইতিমধ্যে নিম্নতর সীমা রয়েছে এবং আপনি 32Mb দিয়ে শেষ করবেন।

তবে যদি আপনার কাছে 32 এমবি দিয়ে ডাব্লুপি-কনফিগার.পিএফ এবং 64৪ এমবি দিয়ে .htaccess থাকে, wp-config.php পূর্ববর্তী সেটিংটি 32Mb এ নামিয়ে আনবে।

সম্পাদনা করুন: IMSoP উল্লেখ করার সাথে সাথে, wp-config.php আপনাকে একটি আকার নির্ধারণ করতে দেয় যা পিএইচপি সেটিংস যা আপনি 'ডাব্লুপি_মেমোরি_লিমিটেড' পরিবর্তন করে দিচ্ছে তার চেয়ে বেশি বিধিনিষেধক সেট করতে দেয়, এটি আপনাকে এর বাইরে যেতে দেয় না। সুতরাং এটি আসলে কোনও সেটিংস ওভাররাইড নয়। আসলে রানটাইমে বিভিন্ন পয়েন্টে আলাদা আলাদা চেক করা হয়। যদি আপনি upload_max_filesizeধরে নেন যে আপনি পিএইচপি সেটিংস পরিবর্তন করছেন (প্রশ্নটি আপনি কোন সেটিংস পরিবর্তন করছেন তা নির্দেশ করে না), এর কোনও প্রভাব নেই।

এছাড়াও, আপনার অ্যাকাউন্টে নিতে post_max_sizeহবে upload_max_filesizeআপনার পিএইচপি সেটিংসের চেয়ে অবশ্যই অবশ্যই বৃহত্তর


2
আপনি এই "নতুন মান কম হলে ওভার রাইডিং" এর জন্য যে কোনও ডকুমেন্টেশনের লিঙ্ক করতে পারেন, কারণ এটি আমি দেখেছি এমন অন্য কোনও পিএইচপি সেটিংয়ের ক্ষেত্রে অবশ্যই সত্য নয়। কিংবা এই ম্যানুয়াল পৃষ্ঠায় এটি উল্লেখ করা হয়নি । আমি আমার উত্তরে যে বিষয়টি উল্লেখ করেছি, তা হ'লupload_max_filesize রানটাইম এ পরিবর্তন করা যায় না (সম্ভবত এটি কার্যকর হওয়ার জন্য অনেক দেরি হয়ে গেছে) সুতরাং wp-config.phpএটি কোনওভাবে বা অন্যভাবে প্রভাবিত করতে পারে না। 2 এমবি-র একটি অন্তর্নির্মিত ডিফল্টও উল্লেখ করা হয়েছে এবং আপনি অবশ্যই এটির চেয়ে বেশি সেট করতে পারেন ।
আইএমএসপ

মূলত আমার হোস্টিং সরবরাহকারী সহায়তা দলটি আমার কাছে যখন একই সমস্যাটি প্রকাশ করেছিল তখন আমি ইমেলটি অনুসন্ধান করব এবং যদি এটি খুঁজে পাই তবে আপডেট করব। আমি সত্যিই নিশ্চিত নই যে সার্ভারের ভিতরে আসলে আপনি মানটি ওভাররাইড করে থাকেন, বা এটি ঠিক যে বিভিন্ন জায়গায় কার্যকরকরণের সময় যাচাইকরণগুলি করা হয়, সুতরাং আচরণটি এরকম হয়।
বিএনএস

1
শুধু পুনরাবৃত্তি করতে, লাইন আপনাকে যোগ করছি যদি wp-config.phpহয় ini_set('upload_max_filesize', '32M');এটা করতে হবে কোনো প্রভাব কখনো , কারণ সেই সেটিং রান সময়ে সেট করা যাবে না যেমন এটা হিসাবে সংজ্ঞায়িত করা হয়PHP_INI_PERDIR । (ডকুমেন্টেশন পৃষ্ঠাটি ভুল না হলে, তবে এটি অসম্ভব বলে মনে হয়))
আইএমএসওপি

না, আপনি ঠিক বলেছেন। এটি আসলে কোনও সেটিংস ওভাররাইড নয়। এটির আর একটি আলাদা বিধি নিষেধ, আমি বিভ্রান্তি এড়ানোর জন্য ক্রিয়াকলাপে আপডেট করব।
বিএনএস

1
@ আইএমএসওপি / বিএনএস - আমি মনে করি যে নির্দিষ্ট wp-config.phpমানগুলি এবং স্বেচ্ছাসেবী পিএইচপি মান সেট করার মধ্যে সম্ভবত কিছুটা বিভ্রান্তি ঘটেছে ini_set()। যেহেতু আমি এটি বুঝতে পারি, wp-config.phpপ্রাথমিকভাবে ওয়ার্ডপ্রেস নির্দিষ্ট কনফিগার মানগুলি নির্ধারণের সাথে কাজ করা হয় এবং এর মধ্যে অনেকগুলি অন্তর্নিহিত পিএইচপি কনফিগারেশন সেটিংস (যেমন উত্তরে উল্লিখিত ) দ্বারা সীমাবদ্ধ থাকে (অর্থাত্ উচ্চতর সীমা) are WP_MEMORY_LIMITএটি একটি ওয়ার্ডপ্রেস জিনিস। যাইহোক, পিএইচপি ব্যবহার করে নির্বিচার পিএইচপি কনফিগারেশন মান সেট করার সময় ini_set()এই জাতীয় কোনও বাধা নেই।
মিঃ হোয়াইট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.