Skrypt przeniosłem na serwer linuksowy. Tam jest zainstalowany apache 1.3.x i php 4.x (nie pamiętam dokładnie). Jak odpalam ten skrypt za pomocą php4.x to mogę sprawdzić zawartość $_SERVER['argv'], natomiast jak odpale za pomocą php5 to pojawia się komunikat w stylu "Undefinied ..." dla linijki gdzie odwołuje się do parametrów uruchomienia skryptu - czyli jak wpisze sobie
Kod
php5 mojskrypt.php /usr/local/cos/tam/jeszcze parametr 2 parametr3
to za cholerę nie mogę sprawdzić jakie parametry zostały podane.
php 5 kompilowałem sam, dokładnie tak jak zawsze (linuks to centos). Doszedłem do wniosku, że aby korzystać w php ze zmiennej $_SERVER['argv'] php musi zostać skompilowane z obsługą apacha. I tu pojawia się problem. Na tym serwerze stoi kerio mail server i nie możemy pozwolić sobie na dłuższy przestój - czyli dłużej niż 5-10 minut (więc odpada zmiana apacha).
1. Mam pytanie czy da się tego php5 skompilować tak, żeby wykorzystał apacha, który jest już zainstalowany?
2. I jeszcze dziwna rzecz.
<?php if (exec('cp /usr/local/jakis_plik /usr/local/jakis_katalog/jakis_plik')) $iloscSkopiowanychPlikow++; ?>
Nie działa, tzn nie inkrementuje $iloscSkopiowanychPlikow, tak jakby pomimo tego, że pliki kopiują się byłaby zwracana wartość false (albo nie jest zwracana). Na exec("copy ... ..") dla wersji z windowsa działa poprawnie. I też nie mam pewności czy to nie jest problem wersji php4.x ? Co o tym myślicie?
Problem rozwiązany. Trzeba było w php.ini włączyć register_argc_argv