ไฟล์ check_and_create_dir.php
- โค้ด: เลือกทั้งหมด
#!/usr/bin/php
<?php
$tmpFolder='files/';
if(!is_dir($tmpFolder)){
mkdir($tmpFolder, 0755);
}
?>
แต่ถ้าเราเอาไปใส่ไว้ในไฟล์เว็บ (ต้องลบบรรทัด #!/usr/bin/php ออกด้วยนะ) สมมติว่าเอาไฟล์ check_and_create_dir.php นี้ไปไว้ในไดเร็คตอรี่ /var/www/html/demo เราคาดหวังว่ามันจะสร้างไดเร็คตอรี่ files ให้เรา ปรากฏว่ามันไม่สร้าง
สาเหตุเป็นเพราะ directory permission ของ /var/www/html/demo มันอาจจะไม่ได้ให้ user ที่รัน httpd เขียนข้อมูลลงไปได้ (อ่านได้อย่างเดียว) ซึ่งถ้าเป็นเครื่อง issabel/elastix/freepbx ยูสเซอร์ที่รัน httpd คือ asterisk นะครับ (ไม่ใช่ root หรือว่า apache) ดังนั้นเราต้องเซ็ต permission ของไดเร็คตอรี่ /var/www/html/demo ใหม่
- โค้ด: เลือกทั้งหมด
chown -R asterisk.asterisk /var/www/html/demo
chmod -R 755 /var/www/html/demo
ประมาณนี้ครับ
ถ้าจะลองรันสคริปต์ด้วย Command Line โดยรันด้วยยุูสเซอร์ asterisk เราก็ใช้คำสั่ง sudo -u asterisk ./check_and_create_dir.php ครับ