Archive for the ‘programming’ Category:
Shared Hosting için Zend Framework kurulumu
dertli bir iş. en büyük sıkıntı da shared hostinglerde document root değiştirilemediği için oluyor. zend framework için önerilen dizin yapısında public klasörü rootda yer almıyor. bu bir çok açıdan tercih edilmesi gereken bir durum. ancak shared hostinglerdeki document root olan httpdocs ya da public_html klasörünün bir üzerinde değişiklik yapılamadığı için aşağıdaki kodu root dizindeki .htaccess dosyasının içine kopyalayın. public dizinindeki .htaccess dosyasını da kaldırın. mis gibi.
RewriteEngine On
RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]
kaynak: şurası.
Zend Studio ile Xdebug Kullanmak
Oldukça uzun süredir Zend debugger kullanıyordum. Halimden de memnundum açıkçası, çünkü debugging olayından beklentim remote debugging den ibaretti ve Zend debugger da sorunsuz çalışıyordu. İşletim sistemi değiştirip mac’e geçmemle birlikte Xdebug’ı denemeye karar verdim, ve şimdi bi sürü “fancy” özelliğiyle birlikte Xdebug’ın Zend debugger’dan çok daha iyi olduğunu anlamış bulunuyorum.
Mac’e geçmemle beraber uzun süredir kullandığım Zend Studio 5.5 ve Aptana’dan da Zend Studio 7′ye geçmeye karar verdim. Zend Studio 7 eclipse üzerine kurulmuş harika bir ide. Gerçi ben hala alışabilmiş değilim ama artık bir değişikik yapmam şarttı.
Neyse, Zend Studio 7 malesef debugger olarak sadece Zend Debugger’a izin veriyor. Xdebug disable edilmiş durumda. Ancak ufak bir trick ile bunu değiştirmek mümkün. Şöyleki;
1. Zend Studio folder’a gidilir. cd /Applications/Zend/Zend\ Studio\ -\ 7.0.0
2. cd pluginsmkdir disabled
3. mkdir disabled
4. mv com.zend.php.debug* disabled
5. Bir de configurasyon dosyasında ufak bir değişiklik yapmamız gerek. open -a TextWrangler com.zend.php_<ZSE_version_number>/plugin_customization.ini
6. ‘org.eclipse.ui.workbench/UIActivities.com.zend.php.debug.ui.XDebugActivity’ alanının değerini ‘true’ olarak değiştir.
7. Zend Studio’yu yeniden başlat.
8. Preferences içinde PHP -> Debug sayfasında gerekli değişiklikler yapılır (debugger olarak Xdebug seç, PHP executable path i göster vb.)
Afiyet olsun.
Linux Başlangıç Programları
Bu diyeceklerim red-hat bazlı distrolar içindir. Debian için de çok farklı değil.
Başlangıçta yani boot sonrası program mı çalıştırmak istiyorsunuz (mesela subversion deamon programı). O zaman tek yapmanız gereken “/etc/rc.d/rc.local” dosyasına gerekli satırı eklemek.
Mis gibi
Ubuntu için tortoise svn alternatifi
Win Xp’de kullanıp hastası olduğum tortoise svn programının linux versiyonunun olmaması çok fena bir durum. Tortoise explorer shell ine entegre oluşu ve kolay kullanımıyla diğer bütün svn client’larının arasında pırlanta gibi parlıyor. Ubuntu (9.04 versiyonunu kullanıyorum şu anda) için rapidSVN isimli güzide bir program kullanıyordum. Kendi GUI si olan, C++ ile yazılmış güzel bir program. Ancak Nautilus shell ine entegre olmadığı, yani sağ tıklayıp işlem yapma güzelliğine sahip olmadığı için bana hep angarya gibi gelmiştir. İşte çözüm:
Buradan indireceğiniz program sayesinde aynı tortoise de olduğu gibi sağ tıklamak suretiyle svn repository’lerinizi kontrol edebilirsiniz. Ancak tortoise kadar ayrıntılı değil. sadece checkout, commit, update gibi basit işlemleri yapabiliyorsunuz. Ancak yine de baya bir zaman kazandırıyor.
Bu arada program Nautilus file manager programının “User scripts” isimli güzide özelliğini kullanıyor. Yani tek yaptığı menuye bir kaç dosya eklemek ve komut satırına komutlar vermek. Yani isterseniz kendiniz de menuyu genişletebilirsiniz.
Programın install edilmesi de şöyle, paketi açtığınızda içerideki “subversion” isimli dosyayı “~/.gnome2/nautilus-scripts” klasörüne kopyalamanız yeterli.
Boot sırasını değiştirmek
Benim gibi ubuntu + windows kombinasyonu kullanıyorsanız, boot sırasındaki os seçim listesinde ubuntu’nun default olması dert olabilir. özellikle bilgisayarı başka biri de kullanıyorsa. çözüm ise
sudo gedit /boot/grub/menu.lst
ile menu.lst dosyasını açmak, içinde “default 0″ yazan satırı listedeki sıraya göre değiştirmek. default kurulumda windows 4. sırada çıkıyor. dolayısıyla “default 4″ yapınca işlem tamamlanmış oluyor. afiyet olsun.
Windows’u otomatik kapatmak
Windows’u belirli bir süre sonra kapatmak için 7£ ya program satmalarını aklım almıyor. Oysa windowsda zaten var olan shutdown programı ile windowsu belirli bir süre sonra kapatabilirsiniz.
shutdown -s -t 3000
Bu komut 3000sn yani 50dk sonra windowsu kapatacak. Ayrıca 50 dk sonra izlediğim film bitecek ve uyuyacağım.
YSlow performance guide
Her zaman gerekli olan bu best 20 practise’i buraya koyuyorum ki hep önümde olsun
Zend Date ile tarih aralığı hesaplamak
çok basit olsa da ben yine de buraya yazıyorum. yapmaya çalışılan kaç yaşında olduğunu hesaplamak. tek yaptığım da iki timestamp’ı (biri şu anki tarih, diğeri doğum günü) birbirinden çıkartmak. küsüratlı bir rakam elde edilmek istenmiyorsa floor fonksiyonuyla yuvarlana da bilir. bir de 365 e bölmek istenmeyebilir. o ayrı.
$now = new Zend_Date();
$dob = new Zend_Date("954686860", Zend_Date::TIMESTAMP );
echo floor(($now->getTimestamp() - $dob->getTimestamp()) / (24 * 60 * 60)) / 365;
FFMpeg – error while loading shared libraries: libavdevice.so.52
FFMpeg ile video convert işlemi yaparken bu hatayla karşılaştım (Centos server üzerinde). yapmaya çalıştığım işlem şuydu:
/usr/local/bin/ffmpeg -i /var/www/vhosts/got2b.ca/httpdocs/beta/private/orginal_videos/test.avi -f flv -r 30 -ar 44100 /var/www/vhosts/got2b.ca/httpdocs/beta/public/uploads/flv/suleyman4.flv 2>&1
Burada yaptığım prensipte avi dosyasını flv ye çevirmek.
Hata mesajının tamamı da şöyle birşey:
/usr/local/bin/ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory"
bu olayın sebebi hata mesajında dediği gibi ldconfig’in libraryleri nerede arayacağını bulamaması. çözümü de amcaya bunun pathinin neresi olduğunu söylemek.
uzun yol:
LD_LIBRARY_PATH=/usr/local/lib/
export LD_LIBRARY_PATH=/usr/local/lib/
komutlarını çalıştırmak. ama reboot ederseniz bu komutları tekrar çalıştırmanız gerekiyor. dolayısıyla bu uzun yol
kısa yol:
cd /etc/ld.so.conf.d
vim custom-libs.conf ( ya da istediğiniz text editoruyle dosyayı açabilirsiniz)
dosyanın içine şu satırı yazıp kaydedelim:
/usr/local/lib
sonra da ld olayını configleyelim (o ne demek?)
ldconfig
budur.
Plesk’de ftp hesabı yaratmak
mümkün değil malesef. yani bir vpn’iniz varsa bir domain için birden fazla ftp hesabı yaratamıyorsunuz. yeni bir web user ya da subdomain yaratmak gibi workarond olsa da tam olarak tatmin edici birşey değil ne yazık ki. böyle önemli bir özellik nasıl unutulur akıl sır erdirmek de mümkün değil.
neyse efenim alın size çözüm. ssh ile bağlanıp yeni bir user yaratıyorsunuz olup bitiyor.
diyelim ki solomon.com domainine yeni kullanıcı ekleyeceğiz. varolan kullanıcı da “solomon” olsun
cat /etc/passwd | grep 'solomon'
bu bize solomonun kullanıcı özellkilerini veriyor.
solomon:x:10041:2523::/var/www/vhosts/solomon.com:/usr/local/psa/bin/chrootsh
burda 10041 userID oluyor. bu id bize lazım.
/httpdocs directory için “yenikullanici” isminde bir kullanıcı oluşturalım
useradd -u 10041 -o -d /var/www/vhosts/solomon.com -g psacln -s /usr/local/psa/bin/chrootsh yenikullanici
bir de şifre verelim garibana
passwd yenikullanici
iki kere şifreyi girmemizi isteyecek.
bitti gitti.
bu da alıntıladığım kaynak
