W moim projekcie musiałem uzyć curl oraz logowanie przez login i hasło (w przeciwnym wypadku wystarczyło by użycie fopen). Wobec tego użyłem kodu podobnego do tego poniżej:
W nowszych wersjach PHP występuje nowa funkcja odpowiedzialna za ładowanie klass spl_autoload_register(’function_name’) w przeciwienstwie do poczciwego __autoload(). Wobec tego aby móc znowu automatycznie ładować klasy należy stworzyć kod podobny do poniższego:
function my_autoload($class_name) {
include "lib/class/$class_name".'.class.php';
}
spl_autoload_register('my_autoload');
Zaraz po zainstalowaniu Lighttpd zaczeło mnie irytować ze nie widzę plików w katalogu. Nie zawsze mam plik indeksu a w wielu przypadkach mam katalogi i chce móc spokojnie między nimi nawigować.
Rozwiązanie tego problemu jest proste, włączamy direktywę server.dir-listing:
Kiedyś zajmowałem się tylko Linuksem (i jestem cały czas właścicielem domeny linuxexpert.pl), teraz zajmuje się AIX-em (i prowadziłem blog na unix4you.net) czyli zostaje w świecie Uniksa ale nie koniecznie Linuksa. Postanowiłem 2 serwisy połączyć w jeden, tylko jak o tym poinformować google i innych odwiedzających? Cóż, należy użyć przekierowania i zwrócić kod 301 (http://en.wikipedia.org/wiki/HTTP_301):
Mod_rewrite to ciekawy moduł pozwalający podmieniać linki w naszym serwisie. Np. na starym linuxexpert.pl, serwisie napisanym w PHP, linki postacji cos.html były zamienianie na index.php?site=cos. Niestety, gdy chciałem przejść weryfikacje google, okazało się, że także nazwa pliku weryfikującego też była przepisywana! Jak więc zignorować reguły dla pojedyńczego pliku?
RewriteRule ^google12b726ea1cbc2a03.html$ - [L]
I od tej pory ten plik jest pokazywany bez żadnych problemów. Ten „-” informuje, że nie ma żadnych parametrów.
Program httpd_gargoyle to prosty serwerek WWW dołączany do oprogramowania gargoyle wywodzącego się z OpenWRT. Nie obsługuje PHP, CGI itp. Nie posiada on swojej strony man ale wszystko wyjaśnia opcja –help:
root@lokaj:/tmp$ /usr/sbin/httpd_gargoyle --help
usage: /usr/sbin/httpd_gargoyle [-C configfile] [-D] [-S use ssl, if no ssl port is specified all connections will be SSL ] [-E certfile] [-SP ssl port ] [-Y cipher] [-p port ] [-d dir] [-dd data_dir] [-c cgipat] [-u user] [-h hostname] [-r] [-v] [-l logfile] [-i pidfile] [-T charset] [-P P3P] [-M maxage] [-DRN default realm name ] [-DRP default realm password file] [-DPF default page file] [-PNF Page to load when 404 Not Found error occurs]
Program curl to ciekawe narzędzie pozwalające łatwo podejrzeć strony (szybciej niż telnet 127.0.0.1:80), przykład niżej (na razie spójrz w kod strony, później to pozamieniam 😉 ):
root@server:/etc/apache2/sites-available# curl 127.0.0.1
It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.
No więc zwyczajowo robiłem tak: tworzyłem plik php z danymi konfiguracyjnymi i jak chyba każdy dołączałem go przez require_once do projektu. Ostatnio postanowiłem potworzyć dodatki także w Perlu i pojawił się problem, musiałem tworzyć osobny plik konfiguracyjny dla Perla. Mała przenoszalność tutaj. Postanowiłem więc zmienić formę pliku konfiguracyjnego na ini. I Perl szczęśliwy i PHP potrafi to odczytać ;).