2017/04/06

Symfony 1.4-ийг composer package ашиглах боломжтой болгох

Symfony lib-ийн lib/autoload/sfAutoloadAgain.class.php-ийн 72-р мөрөнд дараах кодыг өөрчилж оруулснаар сүүлийн үеийн composer-ээр суудаг package-үүдийг load хийж болж байна.

if (is_array($autoload) && $this === $autoload[0])

Doctrine form ашиглалгүйгээр file upload хийх

<?php
foreach ($request->getFiles() as $fileName) {

            $fileSize = $fileName['size'];
            $fileType = $fileName['type'];
            $theFileName = $fileName['name'];
            $uploadDir = sfConfig::get("sf_upload_dir");
            $Contacts_uploads = $uploadDir.'/contacts_uploads';

            if(!is_dir($Contacts_uploads))
                mkdir($Contacts_uploads, 0777);            

            move_uploaded_file($fileName['tmp_name'], "$Contacts_uploads/$theFileName");

        }
?>

2017/01/23

Cron log бүртгэл үүсэхээр тохируулах

/etc/rsyslog.d/50-default.conf файлыг нээж cron.*-ийн өмнөх # тэмдэгийг арилгаад хадгална.

sudo service rsyslog restart
service cron restart

командуудыг өгсний дараа /var/log/cron.log файлаас cron-ы лог бүртгэлийг харж болно.

2017/01/04

Detecting & clearing INODE junks

Ubuntu серверийн маань Inode хязгаар дүүрээд серверт ямарч шинэ файл үүсэх боломжгүй болох алдаа тохиолдоод ухаж үзэв.

$ df -i 

командаар шалгахад 100 хувь дүүрсэн үзүүлэлт харуулав.

Шалтгааныг хайж хаана тэр олон файл үүсээд байна вэ гэсэн асуудлыг мөшгөвөл

$ for i in /*; do echo $i; find $i |wc -l; done

Командаар аль фолдерт хэт олон файл үүссэн байгааг харах боломжтой.

Сэжиг төрсөн фолдер ажиглагдвал

$ for i in /home/*; do echo $i; find $i |wc -l; done

Энэ командаар дэд фолдеруудынх нь файлын тоог нарийвчилж шинжилж болно.

Миний тохиолдолд /var/lib/php5 хавтсанд хэт олон тооны session файл үүссэн байсныг

$ cd /var/lib/php5
$ find . -name "sess_*" -print | xargs rm -v

командаар устгав