ปัญหาการติดตั้ง-การเพิ่ม memory-limit ใน php.ini

ปัญหาการติดตั้ง-การเพิ่ม memory-limit ใน php.ini

โดย jeeradate kaowkanchana -
Number of replies: 8
ผมติดตั้ง Moodle 1.7 บน www.godaddy.com hosting มีข้อความเตือนว่า Memory Limited น้อยไปดังต่อไปนี้

The PHP memory limit for your server is currently set to .

This may cause Moodle to have memory problems later on, especially if you have a lot of modules enabled and/or a lot of users.

We recommend that you configure PHP with a higher limit if possible, like 40M. There are several ways of doing this that you can try:

  1. If you are able to, recompile PHP with --enable-memory-limit. This will allow Moodle to set the memory limit itself.
  2. If you have access to your php.ini file, you can change the memory_limit setting in there to something like 40M. If you don't have access you might be able to ask your administrator to do this for you.
  3. On some PHP servers you can create a .htaccess file in the Moodle directory containing this line:

    php_value memory_limit 40M

    However, on some servers this will prevent all PHP pages from working (you will see errors when you look at pages) so you'll have to remove the .htaccess file.

ผมเลือกที่จะเพิ่ม Memory Limit โดยวิธีที่สอง เนื่องจากผมเห็น php.ini ใน Moodle directoy โดยการเพิ่ม memory_limit=40m  ดังตัวอย่างต่อไปนี้

register_globals = off
allow_url_fopen = off

expose_php = Off
max_input_time = 60
variables_order = "EGPCS"
extension_dir = ./
upload_tmp_dir = /tmp
precision = 12
SMTP = relay-hosting.secureserver.net
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
memory_limit=40m
[Zend]
zend_extension=/usr/local/zo/ZendExtensionManager.so
zend_extension=/usr/local/zo/4_3/ZendOptimizer.so

จากนั้นเข้า installation  อีกครั้งแต่ยังมีข้อความเตือนว่า Memory limit น้อยไป ผมควรแก้ไขอย่างไรครับ

นับถือ

จีระเดช

In reply to jeeradate kaowkanchana

ตอบ: ปัญหาการติดตั้ง-การเพิ่ม memory-limit ใน php.ini

โดย เอกลักษณ์ ฝักบัว -
memory_limit=40m
M เป็นตัวใหญ่รึปล่าวครับ
In reply to เอกลักษณ์ ฝักบัว

ตอบ: ปัญหาการติดตั้ง-การเพิ่ม memory-limit ใน php.ini

โดย วันฉลอง เศรษฐบุตร -
In reply to วันฉลอง เศรษฐบุตร

Re: ตอบ: ปัญหาการติดตั้ง-การเพิ่ม memory-limit ใน php.ini

โดย jeeradate kaowkanchana -
จะ Restart apache ได้อย่างไรครับ เพราะมันเป็นของ Godaddy Host ช่วยแนะนำด้วยครับ
In reply to jeeradate kaowkanchana

ตอบ: ปัญหาการติดตั้ง-การเพิ่ม memory-limit ใน php.ini

โดย narong prasarnsak -

ลองใช้ฟังก์ชัน phpinfo() ตรวจสอบดูนะครับ

In reply to jeeradate kaowkanchana

ตอบ: ปัญหาการติดตั้ง-การเพิ่ม memory-limit ใน php.ini

โดย วันฉลอง เศรษฐบุตร -
กรณีที่เราไม่ใช่ admin ของโฮสแน่นอนครับ เราคงไม่สิทธิ์ในการจัดการระบบต่างๆได้ เช่น restart server แต่ยังมีทางออกอีกทางครับ ลองดูใน error ข้อที่ 3 นั่นคือ เราสามารถสร้างไฟล์ .htaccess ซึ่งเป็น directory-level configuration file ของ Apache ให้ทำงาน
ต่าง ๆ เช่น การควบคุมการเข้าถึงโฟลเดอร์ การควบคุมการแสดงโฟลเดอร์
การเปิดการบีบอัดข้อมูล การซ่อนไฟล์ การปรับแต่ง HTTP 404 errror page
เป็นต้น สามารถใช้โปรแกรมเขียนข้อความทั่วไป เช่น notepad หรือ editplus สร้างขึ้นมา แล้วเพิ่มไดเรกทีพ php_value memory_limit 40M ลงไปในไฟล์นี้ แล้วอัพไปไว้ที่ root ของ moodle ของเราครับ (โฮสต้องสนับสนุนการสร้างไฟล์ชนิดนี้ด้วย)

ส่วนการสร้างไฟล์เรียกฟังก์ชัน phpinfo() ก็แค่สร้างไฟล์ ชื่ออะไรก็ได้.php แล้วเพิ่มคำสั่งนี้ลงครับ
<? phpinfo(); ?> แล้วอัพขึ้น server แล้วเรียกไฟล์นี้ โดยจาก browser เช่น http://www.ชื่อเว็บเรา.xxx/ชื่อไฟล์ที่ตั้ง.php ลองค้นหา memory_limit ดูครับว่าเป็นอย่างไร
In reply to jeeradate kaowkanchana

Re: ปัญหาการติดตั้ง-การเพิ่ม memory-limit ใน php.ini

โดย Piriya Jennoppakarn -

ลองใช้ phpinfo() นะครับ แล้วดูว่าระบบเรียก php.ini จากที่ไหน เช่น /usr/local/etc/php.ini ซึ่งไฟล์นี้จะเป็นค่าเริ่มต้นของ PHP เราไม่สามารถไปทำอะไรได้เพราะเป็นไฟล์ของระบบ

แต่เราสามารถปรับแต่งค่านี้ได้จากคำสั่ง

ini_set("memory_limit", "40M");

ซึ่งอาจจะต้องเพิ่มเข้าไปใน config.php เอง