PDA

View Full Version : سوال: چطور می تونم زمان پیش فرض برای اجرای یه اسکریپت php رو تغییر بدم؟



phpweb
یک شنبه 24 بهمن 1389, 23:53 عصر
من دارم یه اسکریپت آپلود فایل می نویسم، با توجه به اینکه حجم بعضی از فایلها زیاد هست و آپلود کردنشون طول می کشه، می خوام زمان پردازش اسکریپت آپلود فایل رو از 30 ثانیه به 1 ساعت تغییر بدم.

لطفا بگید که چطور می تونم این کار رو بکنم؟

همچنین لطفا بگید که معمولا شما توی اسکریپتهاتون چه مدت زمانی رو تعیین می کنید.

sattaryekta
دوشنبه 25 بهمن 1389, 10:50 صبح
فایل php.ini را ویرایش کنید. کافیست کلمه max را توی فایل search کنید

amir001
دوشنبه 25 بهمن 1389, 11:02 صبح
نیازی به تغییر در فایل تنظیمات نیست.

تابع زیر را در ابتدای صفحه ای که میخوای درون اون زمان اجرار را تغییر بدی ، فراخوانی کن.


set_time_limit(Time);

ورودی تابع زمان بر حسب ثانیه هست.

اگر خواستی هیچ وقت با ارور اتمام زمان روبرو نشی ورودی را صفر بده. زمان بینهایت میشه.

phpweb
دوشنبه 25 بهمن 1389, 12:11 عصر
نیازی به تغییر در فایل تنظیمات نیست.

تابع زیر را در ابتدای صفحه ای که میخوای درون اون زمان اجرار را تغییر بدی ، فراخوانی کن.


set_time_limit(Time);

ورودی تابع زمان بر حسب ثانیه هست.

اگر خواستی هیچ وقت با ارور اتمام زمان روبرو نشی ورودی را صفر بده. زمان بینهایت میشه.

این تابع در همه شرایط کار می کنه؟ چون شنیدم بعضی از جاها این تابع به درستی عمل نمی کنه.

این تابع فقط روی اسکریپتی خودش کار می کنه یا روی بقیه اسکریپتها هم تاثیر می ذاره؟

amir001
دوشنبه 25 بهمن 1389, 13:46 عصر
این تابع درون قسمتی عمل میکنه که اون را فراخوانی کردی.

به درستی هم عمل میکنه.

تنها جایی که من دیدم درست عمل نکرده در بحث سوکت ها بوده که اونجا هم من عکس عمل تو را میخواستم انجام بدم. میخواستم زمان را محدود به 20 ثانیه کنم بلاک شدن برنامه بر روی سوکت این محدود زمان را نادیده میگرفت.(برای سوکت هم باید زمان استریم را کم کرد.)

اما امتحان کن.
set_time_limit(0);


این تابع را بذار اول صفحه ات، محدودیت زمانی اسکریپتت برداشته میشه.
من خودم از این زیاد استفاده کردم.

phpweb
دوشنبه 25 بهمن 1389, 15:10 عصر
این تابع درون قسمتی عمل میکنه که اون را فراخوانی کردی.

به درستی هم عمل میکنه.

تنها جایی که من دیدم درست عمل نکرده در بحث سوکت ها بوده که اونجا هم من عکس عمل تو را میخواستم انجام بدم. میخواستم زمان را محدود به 20 ثانیه کنم بلاک شدن برنامه بر روی سوکت این محدود زمان را نادیده میگرفت.(برای سوکت هم باید زمان استریم را کم کرد.)

اما امتحان کن.
set_time_limit(0);


این تابع را بذار اول صفحه ات، محدودیت زمانی اسکریپتت برداشته میشه.
من خودم از این زیاد استفاده کردم.

این تابع رو اول اسکریپت گذاشتم و زمان اجرای اسکریپت رو در 1 ثانیه قرار دادم اما جواب نداد. چه دلیلی داره؟

amir001
دوشنبه 25 بهمن 1389, 15:22 عصر
<?php
set_time_limit(1);
sleep(5);
echo "EXEC";
?>


Fatal error: Maximum execution time of 1 second exceeded in F:\EasyPHP\www\google-group\test.php on line 4

برای من که جواب میده.

کدهای صفحه ات را بذار تا بررسیشون کنیم.

beliefsavior
یک شنبه 03 آبان 1394, 23:52 عصر
<?php
set_time_limit(1);
sleep(5);
echo "EXEC";
?>


Fatal error: Maximum execution time of 1 second exceeded in F:\EasyPHP\www\google-group\test.php on line 4

برای من که جواب میده.

کدهای صفحه ات را بذار تا بررسیشون کنیم.


احسنت. .....

Unique
دوشنبه 04 آبان 1394, 02:42 صبح
محدودیتش مربوط به زمانی میشه ک هphp safe mode فعال باشه. اکثر سرویس های shared اگه سرویس معتبری باشه safe mode همبشه فعاله.