Uruchamianie skryptów powłoki przez php

Jeśli chcecie uruchamiać skrypty powłoki bezpośrednio ze strony www za pomocą php należy wykonać kilka czynności.

1) Tworzymy w katalogu, do którego ma dostęp php, plik zawierający skrypt do uruchomienia o nazwie skrypt.sh

root@server:/# touch /var/www/naszastrona/skrypt.sh

2) Przypisujemy do pliku Czytaj dalej Uruchamianie skryptów powłoki przez php

Outlook 2003 naprawa pst

Jak naprawić uszkodzony plik pst Outlook 2003

Narzędzie służące do naprawy uszkodzonych plików pst, zwykle znajduje się katalogu (dla polskiej wersji Outlooka 2003 i windows XP):

c:\Program Files\Common Files\System\MSMAPI\1045

Wystarczy wejść do katalogu i uruchomić znajdujący się w nim program Scanpst.exe

Po uruchomieniu programu wskazujemy uszkodzony plik PST i wybieramy napraw.

Zaleca się przed naprawą zrobić kopię pliku na wszelki wypadek.

PHP różnica między apostrofem i cudzysłowem

Wielu początkujących programistów zastanawia się nad tym, jaka jest różnica między apostrofem, a cudzysłowem w języku PHP.

W większości przypadków polecenia i komendy wykonają się tak samo i nie będzie miało to większego znaczenia. Jednak w specyficznych sytuacjach warto wiedzieć, że napisy ujęte w cudzysłowy podlegają interpretacji przez PHP, natomiast Czytaj dalej PHP różnica między apostrofem i cudzysłowem

VIM – zamiana znaków HEX

Jeśli w VIM mamy dziwne znaki (np. <9c>) możemy je wszystkie zamienić na prawidłowe za pomocą poniższej komendy:

:%s/\%x9c/ś/gc

W powyższym przykładzie zmienimy w całym pliku źle zakodowaną literę ‚ś’.

MiniDLNA – Inotify max_user_watches [16384]

Jeśli serwer MiniDLNA nie chce się uruchomić, a w logach serwera macie poniższy błąd:

WARNING: Inotify max_user_watches [16384] is low or close to the number of used watches [5] and I do not have permission to increase this limit.  Please do so manually by writing a higher value into /proc/sys/fs/inotify/max_user_watches.

musicie zwiększyć wartość inotify za pomocą sysctl (wartość 100000 powinna być wystarczająca dla większości użytkowników):

root@server: sysctl fs.inotify.max_user_watches=100000

Aby po uruchomienia serwera zwiększona wartość inotify nie uległa zmianie, dodajcie do pliku /etc/sysctl.conf poniższy wpis lub zmieńcie wartość już istniejącą na 100000.

# Increase inotify max watchs per user for local minidlna
fs.inotify.max_user_watches = 100000

Po zmianach można spokojnie uruchomić serwer MiniDLNA:

root@server: /etc/init.d/minidlna start

lub ładniej

root@server: service minidlna start

Po dodaniu plików do serwera warto przeładować konfigurację:

root@server: /etc/init.d/minidlna force-reload

lub ładniej

root@server: service minidlna force-reload

 

VIM – dodawanie numeru wiersza

W VIM’e mamy możliwość dodania numerów wierszy, przez co kod staje się czytelniejszy i łatwiej jest po nim nawigować. Będąc w trybie visual wystarczy wpisać polecenie:

:set nu

Jeśli chcemy dodać w treści dokumentu na początku każdego wiersza jego numer, wpisujemy w trybie visual poniższe polecenie:

:%s/^/\=line('.')/

Dodatkowo możemy po numerze wiersza dodać spację: Czytaj dalej VIM – dodawanie numeru wiersza

Ubuntu 12.04 – Unable to find the ncurses libraries or the required header files

Jeśli podczas kompilacji kernela po wydaniu komendy make menuconfig pojawia Wam się poniższy komunikat:

  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
 *** Unable to find the ncurses libraries or the
 *** required header files.
 *** 'make menuconfig' requires the ncurses libraries.
 ***
 *** Install ncurses (ncurses-devel) and try again.
 ***

oznacz, że brakuje w systemie bibliotek ncurses.

Wystarczy je zainstalować wydając komendę:

root@server: apt-get install libncurses5-dev

Po instalacji bibliotek kompilacja kernela powinna być możliwa.

MySQL instalacja pod Ubuntu 12.04

Instalacja serwera MySQL pod Ubuntu jest banalna. W pierwszej kolejności warto jest zaktualizować listę pakietów:

root@server: apt-get update

po aktualizacji wystarczy wpisać w linii poleceń poniższą komendę:

root@server: apt-get install mysql-server

Podczas instalacji zostaniemy poproszeni o podanie hasła użytkownika root. Zalecam wpisanie silnego hasła, gdyż ten użytkownik ma pełny dostęp do wszystkich baz danych, które będą ma serwerze.

Po zakończonej instalacji serwer MySQL powinien się uruchomić automatycznie. Możemy to sprawdzić wydają z konsoli polecenie: Czytaj dalej MySQL instalacja pod Ubuntu 12.04

MySQL INSERT i UPDATE na postawie SELECT

W MySQL można w prosty sposób dodać nowe wiersze do jednej tabeli na podstawie danych wybranych z innej tabeli. Poniżej przykład zapytania, które wstawia do tabela1 w pola pole1_t1, pole2_t1, … wybrane wartości z tabela2 uwzględniając zadany warunek:

INSERT INTO `tabela1` (`pole1_t1`,`pole2_t1`,`pole3_t1`,`pole4_t1`,`pole5_t1`) SELECT `pole1_t2`,`pole2_t2`,`pole3_t2`,`pole4_t2`,'dowolna_wartosc' FROM `tabela2` WHERE `pole1_t2`= '2' LIMIT 2;

Nie we wszystkie pola trzeba wstawiać wartości wybrane z innej tabeli. Jak widać w powyższym przykładzie można również zamiast ‚dowolna_wartość’ wpisać własny ciąg znaków.

Oczywiście w zapytaniu możemy wybierać dane z tej samej tabeli, do której wstawiamy nowe rekordy.

Na podobnej zasadzie możemy również aktualizować rekordy:

UPDATE tabela1 t1, (SELECT * FROM tabela2 WHERE id='x') t2 SET t1.pole1 = t2.pole1 where t1.id=t2.id;

Ciekawym rozwiązaniem może być aktualizacja pola wraz ze zwiększeniem jego wartości zależnym od parametrów pobranych na podstawie SELECT’a:

SET @a =0;
UPDATE tb1 SET pole1 = pole1 + ( @a := @a +1 ) WHERE pole2 = 1 AND pole1 > 2 ORDER BY pole1 ASC;

Powyżej wartość pole1 następujących po sobie rekordów według sortowania jest zwiększana o kolejne liczby całkowite.

Usunięcie zawieszonego zadania drukowania – Windows XP

Czasami zdarza się w Windows XP, że w zadaniach wydruku mamy zawieszone zadanie drukowania, którego nie da się usunąć. Rozwiązanie problemu jest bardzo proste. W pierwszej kolejności usuwamy wszystkie zadania, które da się usunąć.

Potem w wierszu poleceń wpisujemy:

C:\>net stop spooler

Następnie przechodzimy do katalogu C:\Windows\system32\spool\PRINTERS i usuwamy wszystkie pliki z rozszerzeniem SPL.

Kolejno uruchamiamy usługę spooler:

C:\>net start spooler

Po tych zabiegach nie powinno być żadnego zadania w oknie zadań wydruku.