» »

Problem s PHP

Problem s PHP

*ziga* ::

Zivjo...

ce npr napisem E:\php\php.exe E:\www\script.php 12 10 ef (zadnji trije so parametri) v cmd mi skripto izvede brez problema, ce pa isti text vstavim v system() torej system("E:\php\php.exe E:\www\script.php 12 10 ef") pa se skripta ne izvede.To vem, ker sem nastimal da bi skripta poslala email z rezultatom.Poskusil sem tudi z popen()
torej popen("E:\php\php.exe E:\www\script.php 12 10 ef", "r") in spet brez rezultata...poskusil sem tudi prebrati ce skripta kaj vrne s pomocjo fgets in tudi to vrne nic.


Torej zanima me v cem tici problem in ali ja kaksen drug nacin da pospesim mojo php skripto(moja ideja je da ustvarim vec enakih procesov s popen().)

Hvala.

urosz ::

(moja ideja je da ustvarim vec enakih procesov s popen()


zlonamerno?!

drola ::

poskusi system('E:\php\php.exe E:\www\script.php 12 10 ef');
https://drola.si

680x0 ::

*ziga* ::

poskusi system('E:\php\php.exe E:\www\script.php 12 10 ef');


To deluje hvala.Kaj pa, ce hocem dobit te 3 stringe vn iz varibel?


npr.

system('E:\php\php.exe E:\www\script.php $var $var1 $var2');

To seveda ne bo delalo ampak ce pa dam double quotes bo seveda delalo ampak potem pa spet nastane prejsni problem...sem posukusal tudi z npr system("E:\\php\\php.exe E:\\www\\scrpt.php $var $var1 $var2"); ampak ne dela...

Zgodovina sprememb…

  • spremenil: *ziga* ()

techfreak :) ::

system('E:\php\php.exe E:\www\script.php '.$var.' '.$var1.' '.$var2.');

*ziga* ::

Hvala vam res :)

Cudi me, da se sam tega nisem spomnil :/

krho ::

system('E:\php\php.exe E:\www\script.php '.$var.' '.$var1.' '.$var2.');
;((
system(sprintf('E:\php\php.exe E:\www\script.php %s %s %s', $var, $var1, $var2);
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

techfreak :) ::

krho: In kakšne prednosti to prinaša? Mogoče je res malce lepše, ampak je približno 5x počasnejše od moje variante, ki se tudi večinoma uporablja.

krho ::

[root@x ~]# cat znj.php
<?php
$var1 = 'a';
$var2 = 'b';
$var3 = 'c';

$start = microtime(true);
for ($i = 0; $i < 100000; $i++) {
        $z = 'E:\php\php.exe E:\www\script.php '.$var1.' '.$var2.' '.$var3;
}
$end = microtime(true);

echo (($end-$start)*1000) . "msec\n";

$start = microtime(true);
for ($i = 0; $i < 100000; $i++) {
        $z = sprintf('E:\php\php.exe E:\www\script.php %s %s %s', $var1, $var2, $var3);
}
$end = microtime(true);

echo (($end-$start)*1000) . "msec\n";


[root@x~]# php znj.php
111.03987693787msec
222.13196754456msec

5x :D
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

Zgodovina sprememb…

  • spremenil: krho ()

techfreak :) ::

ws10:~# php-cgi /var/www/test.php
X-Powered-By: PHP/5.2.6-1+lenny3
Content-type: text/html

54.4641017914msec
108.417034149msec

Hm ... v mojem primeru je bilo 5x. Res pa je, da sem v for zanki echal vrednost (v tvojem primeru $z).

Ampak vseeno je 1x hitrejši moj način.

*ziga* ::

No hvala tudi za teste fantje.Jaz sicer uporabljam popen(), da zazenem vec skript na enkrat in pospesim delovanje :)

*ziga* ::

Hmm zdaj pa imam tezave z popen() na linuxu...


Recmo ko v SSH vpisem php /home/path/script.php argument argument2 se izvede vredu.Ko pa poskusim z popen na linux z
popen('php /home/path/script.php argument','r');

Pa skripte enostavno ne zazene...tudi ce podam full path od phpja ne...se komu svita zakaj ne? In mogoce kdo pozna alternativo?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

CMD mi ne prepozna ukaza php

Oddelek: Operacijski sistemi
5863 (791) R33D3M33R
»

problem z phpjem

Oddelek: Izdelava spletišč
304279 (3692) snow
»

HTTP serv. program

Oddelek: Omrežja in internet
201939 (1776) pivmik
»

http + ftp server

Oddelek: Programska oprema
141685 (1470) Spajky
»

Apache & Php

Oddelek: Programiranje
71704 (1585) iBojan

Več podobnih tem