วันอาทิตย์ที่ 22 เมษายน พ.ศ. 2555

crontab กับ php ทีการทำงานมีการอ้างถึง Directory ที่ใช้เก็บไฟล์

โดยปกติถ้าเราเขียน php แล้วต้องการจะนำไฟล์อื่นเข้ามาใช้งานร่วมกันในไฟล์นั้นๆ เราสามารถกำหนดที่อยู่ของไฟล์โดยอ้างอิงจากที่อยู่ของไฟล์ปัจจุบันได้ที่เขียนได้ เช่น include("code.php"); หรือ include("folder/code.php"); หรือ include("../code.php"); ซึ่งวิธีนี้จะใช้ไม่ได้หากไฟล์นั้นถูกสั่งให้ทำงานโดยServer หรือ crontab

ถ้าไฟล์นั้นถูกสั่งให้ทำงานโดย crontab จะต้องเซ็ตที่อยู่ของไฟล์แบบเต็มๆ เช่น include("/var/www/code.php"); หรือ include("/var/www/folder/code.php"); จำจะสามารถให้งานได้

ปล. บทความนี้ เป็นเพียงส่วนหนึ่งของการบัญทึกปัญหาที่เจอในการทำโปรเจคและวิธีการแก้ปัญหาเท่านั้น ถ้าผู้ใดมาอ่านเจอแล้วทราบวิธีการแก้ปัญหาที่ดีกว่าก็ช่วยบอกกันด้วยนะครับ ขอบคุณครับ ^^

วันศุกร์ที่ 20 เมษายน พ.ศ. 2555

ปัญหาเรื่อง Permission denied ในการสร้างไฟล์ของ PHP

จากการที่ได้ลองสร้างไฟล์ ด้วยคำสั่ง fopen() ก็เจอกับปัญหา Permission denied ทำให้ไม่สามารถสร้างไฟล์ใหม่ได้ และในกรณีที่มีไฟล์อยู่แล้วก็ไม่สามารถเขียนไฟล์ชื่อเดิมทับไปได้ด้วย 

วิธีการแก้ก็คือ การกำหนดสิทในการเข้าถึงไฟล์(chmod) ของ Folder ที่ไว้เก็บไฟล์ให้อยู่ในรูปแบบ drwxrw-rw- หรือ 766 นั่นเอง 

ปล. บทความนี้ เป็นเพียงส่วนหนึ่งของการบัญทึกปัญหาที่เจอในการทำโปรเจคและวิธีการแก้ปัญหาเท่านั้น ถ้าผู้ใดมาอ่านเจอแล้วทราบวิธีการแก้ปัญหาที่ดีกว่าก็ช่วยบอกกันด้วยนะครับ ขอบคุณครับ ^^