কিভাবে লেনদেনের সময়সীমা বাড়ানো যায়? আমি ভিডিও আপলোড করতে চাই, তবে বড় আকারের ভিডিও আপলোড করা হয়নি?
এটি ত্রুটি ছুড়ে ফেলে The process *** exceeded the timeout of 60 seconds.
কিভাবে লেনদেনের সময়সীমা বাড়ানো যায়? আমি ভিডিও আপলোড করতে চাই, তবে বড় আকারের ভিডিও আপলোড করা হয়নি?
এটি ত্রুটি ছুড়ে ফেলে The process *** exceeded the timeout of 60 seconds.
উত্তর:
আপনার php.ini এ আপনাকে কিছু সেটিংস পরিবর্তন করতে হবে:
upload_max_filesize = 2M
;or whatever size you want
max_execution_time = 60
; also, higher if you must - sets the maximum time in seconds
আপনার পিএইচপি.এন.ইআইটি আপনার পরিবেশ, আরও তথ্যের উপর নির্ভর করে অবস্থিত: http://php.net/manual/en/ini.list.php
রানটাইম চলাকালীন খুব বেশি ব্যবহার করে আপনার সক্ষম হওয়া উচিত
set_time_limit(100);
http://php.net/manual/en/function.set-time-limit.php
বা আপনার ভোস্ট-কনফিগারেশনে
php_admin_value max_execution_time 10000
বিশ্বব্যাপী মৃত্যুদন্ড কার্যকর করার সময়সীমা যে কম হয় তা নির্ভরযোগ্য নয় এমন নির্ভরযোগ্য অ্যাপ্লিকেশনগুলির কার্য সম্পাদনের কারণে বেশিরভাগ ক্ষেত্রে ভাল ধারণা। সুতরাং আপনি কেবল সেই স্ক্রিপ্টগুলিকেই দীর্ঘায়িত হতে দেবেন যা একেবারে দরকার।
PS: পোস্ট_ম্যাক্স_সাইজ এবং আপলোড_ম্যাক্স_ফাইলসাইজ সম্পর্কে ভুলে যাবেন না (যেমন প্রথম উত্তরটি অলরেডিকে বলেছে)
হ্যানসের উত্তর সম্পূর্ণ করতে।
আপনার php.ini এ আপনাকে কিছু সেটিংস পরিবর্তন করতে হবে:
upload_max_filesize = 2M
;or whatever size you want
max_execution_time = 60
; also, higher if you must
যদি কেউ সীমাহীনভাবে রাখতে চান (কেন জানি না তবে আপনি যদি চান) তবে আপনি সময়টি 0 তে নির্ধারণ করতে পারেন:
আপনার php.ini এ আপনাকে কিছু সেটিংস পরিবর্তন করতে হবে:
upload_max_filesize = 0
max_execution_time = 0
এবং আপনি যদি জানেন না তবে আপনার php.ini কোথায় .in আপনি আপনার সার্ভারে একটি ফাইল "name.php" করতে পারেন এবং এটিতে রাখতে পারেন:
<?php phpinfo(); ?>
এবং আপনার ওয়েবসাইটে, আপনি আপনার php.ini এর কনফিগারেশন দেখতে পাবেন এবং এটি কোথায় চিহ্নিত আছে marked
আপনি যদি আপনার php.ini অ্যাক্সেস করতে না পারেন তবে আপনার কাছে আরও দুটি বিকল্প রয়েছে।
আপনি আপনার "name.php" ফাইলে সরাসরি এই লাইনটি সেট করতে পারেন তবে আমি এই বিকল্পটির জন্য আপলোড_ম্যাক্স_ফাইলেস খুঁজে পাই না:
set_time_limit(0);
বা ".htaccess" এ
php_value upload_max_filesize 0
php_value max_execution_time 0
আপনার যা করতে হবে তা যদি কেবল 1 বা 2 পৃষ্ঠাগুলির জন্য নির্দিষ্ট হয় তবে আমি সেট_টাইম_লিমিট ব্যবহার করার পরামর্শ দিচ্ছি যাতে এটি সম্পূর্ণ প্রয়োগকে প্রভাবিত করে না।
set_time_limit(some_values);
তবে অবশ্যই এই 2 টি মান (পোস্ট_ম্যাক্স_সাইজ এবং আপলোড_ম্যাক্স_ফাইলসাইজ) তদন্তের বিষয়।
আপনি হয় ini_set ফাংশন মাধ্যমে সেট করতে পারেন
ini_set('post_max_size','20M');
ini_set('upload_max_filesize','2M');
অথবা সরাসরি php.ini ফাইলে হ্যানসের প্রতিক্রিয়া মতো বা এটি নীচের মত iin .htaccess সেট করুন
php_value upload_max_filesize 2M
php_value post_max_size 20M
উপরের উত্তরের সংযোজন হিসাবে আপনি set_time_limit()ফাংশনটি ব্যবহার করতে পারেন :
http://php.net/manual/en/function.set-time-limit.php
0যুক্তি হিসাবে পাস করা আপনার স্ক্রিপ্টকে কোনও সময়সীমা ছাড়াই চালিত করবে।
আপনি যদি মাইক্রোসফ্ট আইআইএস সার্ভার ব্যবহার করছেন , অন্যের দ্বারা উল্লিখিত php.ini সেটিংস ছাড়াও , আপনাকে আইআইএস সার্ভার ম্যানেজারে পিএইচপি ফাস্টসিজিআই অ্যাপ্লিকেশনটির জন্য এক্সিকিউশন টাইমআউট সেটিংস বাড়ানোর প্রয়োজন হতে পারে:
পদক্ষেপ 1) আইআইএস সার্ভার ম্যানেজারটি খুলুন (সাধারণত স্টার্ট মেনুতে সার্ভার ম্যানেজারের অধীনে , তারপরে সরঞ্জাম / ইন্টারনেট তথ্য পরিষেবাদি (আইআইএস) ম্যানেজার )।
পদক্ষেপ 2) মূল সংযোগে ক্লিক করুন (কোনও নির্দিষ্ট ডোমেনের সাথে সুনির্দিষ্ট নয়)।
পদক্ষেপ 3) আইআইএস বিভাগের অধীনে , ফাস্টসিজিআই সেটিংস (নীচে দেখানো হয়েছে) সন্ধান করুন।
ধাপ 4) এতে, পিএইচপি আবেদন ডান ক্লিক করুন এবং নির্বাচন সম্পাদনা ... ।
পদক্ষেপ 5) সময়সীমা পরীক্ষা করুন (নীচে দেখানো হয়েছে)।
আমার ক্ষেত্রে, এখানে ডিফল্ট সময়সীমা 70 এবং 90 সেকেন্ড ছিল; এর মধ্যে পূর্ববর্তী পিএইচপি স্ক্রিপ্টগুলিতে একটি 500 অভ্যন্তরীণ সার্ভার ত্রুটি সৃষ্টি করেছিল যা 70 সেকেন্ডের বেশি সময় নেয়।
আমি জানি যে আপনি বিশেষত পিএইচপি সময়সীমা সম্পর্কে জিজ্ঞাসা করছেন, তবে অন্য কেউ যা উল্লেখ করেছেন বলে মনে হয় তা হ'ল ওয়েবসভারে একটি টাইমআউটও হতে পারে এবং এটি পিএইচপি সময়সীমার সাথে মিলে যায়।
সুতরাং যদি আপনি চেষ্টা করেছেন:
এবং আপনি phpinfo () ফাংশনটি পরীক্ষা করে দেখেছেন যে সর্বাধিক প্রকৃতপক্ষে সর্বাধিক বৃদ্ধি করা হয়েছে, তবে আপনি এটি .htaccess এ যুক্ত করার চেষ্টা করতে চাইতে পারেন যা নিশ্চিত করবে যে আপাচি নিজেই সময় শেষ না করে:
RewriteRule .* - [E=noabort:1]
RewriteRule .* - [E=noconntimeout:1]
এখানে আরও তথ্য: https://www.antropy.co.uk/blog/php-script-keeps-timing-out-des উল্লেখ-ini-set/
প্রথমে php.iniফাইল পাথ পরীক্ষা করে দেখুন phpinfo(); এবং তারপরে PHP.INIপ্যারামগুলি পরিবর্তন করা হয়েছে :
upload_max_filesize = 1000M
memory_limit = 1500M
post_max_size = 1500M
max_execution_time = 30
অ্যাপাচি পুনরায় চালু
set_time_limit(0); // safe_mode is off
ini_set('max_execution_time', 500); //500 seconds
দ্রষ্টব্য : আপনি php.iniলিনাক্সে সন্ধানের জন্য কমান্ডও ব্যবহার করতে পারেন
locate `php.ini`
আপনি যদি php.ini সম্পাদনা করতে না পারেন (উদাহরণস্বরূপ আপনার সার্ভারে) আপনি আপনার পিএইচপি কোডের মধ্যে থেকে php.ini পরামিতিগুলি পরিবর্তন করার চেষ্টা করতে পারেন। চেষ্টা করুন:
ini_set('max_execution_time', 'NUMBER OF SECONDS TO ALLOW BEFORE TIMEOUT');
যদি এটি কাজ না করে, একইভাবে 'set_Time_limit' সেট করার চেষ্টা করুন, এর বাইরে আমি বলতে চাই যে আপনার হোস্টের সাথে যোগাযোগ করা আপনার একমাত্র বিকল্প। নিরাপদ মোডে থাকাকালীন এই সেটিংসটি সংশোধন করা যায় না।
আপনি যদি নিরাপদ মোড হন তবে পরীক্ষা করুন - যদি না হয় - আপনি যা চান তার জন্য সময়সীমা (স্থানীয় মান) নির্ধারণ করুন:
if(!ini_get('safe_mode')){
echo "safe mode off";
set_time_limit(180);// seconds
phpinfo();// see 'max_execution_time'
}
* নিরাপদ মোড 'চালু থাকলে' আপনি সময় সীমাটি সেট করতে পারবেন না।
alচ্ছিক: আপনি যদি php.ini সম্পর্কে কনফিগার সেট করেন তবে এখনও আপলোড করতে পারবেন না
এটি ত্রুটি কোড চেক করার জন্য পিএইচপি ফাংশন
$error_type = [];
$error_type[0] = "There is no error";
$error_type[1] = "The uploaded file exceeds the upload_max_filesize directive in php.ini.";
$error_type[2] = "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.";
$error_type[3] = "The uploaded file was only partially uploaded.";
$error_type[4] = "No file was uploaded.";
//$error_type["5"] = "";
$error_type[6] = "Missing a temporary folder. Introduced in PHP 5.0.3.";
$error_type[7] = "Failed to write file to disk. Introduced in PHP 5.1.0.";
$error_type[8] = "A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop; examining the list of loaded extensions with phpinfo() may help. Introduced in PHP 5.2.0.";
//------------------------------
//--> show msg error.
$status_code = $_FILES["uploadfile"]["error"];
if($status_code != 0){
echo $error_type[$status_code];
exit;
}
আপনি নিজের .htaccessফাইলে সর্বোচ্চ প্রয়োগের সময়ও সেট করতে পারেন :
php_value max_execution_time 180
সময়ের সীমাটি সত্যই বাড়ানোর জন্য আমি প্রথমে বর্তমান মান পেতে পছন্দ করি। set_time_limitসর্বদা সময় সীমা বৃদ্ধি করা হয় না। বর্তমান মান যদি (বর্তমান php.iniবা পূর্বনির্ধারিত সেট) বর্তমান কলে ব্যবহৃত মানের চেয়ে বেশি হয় set_time_limit, তবে সময় সীমা হ্রাস পাবে !
সুতরাং এই মত একটি ছোট সহায়ক সঙ্গে কি?
/**
* @param int $seconds Time in seconds
* @return bool
*/
function increase_time_limit(int $seconds): bool
{
return set_time_limit(max(
ini_get('max_execution_time'), $seconds
));
}
// somewhere else in your code
increase_time_limit(180);