Internet: PHP, CGI, stb.

Picasa webalbum XML adatainak feldolgozása PHP-vel

Sziasztok!

A Picasa képrendező program képes XML-be adatokat exportálni. Nagyon hasznos funkció, hogy XML-t ír a kép nevével, és még számtalan információval. Nem utolsó sorban thumbnail képeket is létrehoz, ami nagyon jó lenne esetleg weblapra feltölthető albumok egyedi legenerálásához.

Van-e valakinek tapasztalata ezen XML feldolgozásával kapcsolatban? Szívesen fogadnék linkeket (kíméljetek lehetőleg a php.net oldalról származó, száraz általános szintaktikai leírásoktól)

Tehát ettől: http://php.net/manual/en/book.xml.php specifikusabb leírást nagyon szívesen vennék. Próbálkoztam több dologgal, eddig sikertelen.

Hasznos dolog lehet később más webfejlesztőknek is akik XML alapú albumokat kívánnak létrehozni, SŐT! nem utolsó sorban ennek segítségével a Picasa API-n keresztül akár a PicasaWEB-re feltöltött oldalainkat is szuperül átültethetnénk sajátunkra.

telnet szerver - konyvtar?

Sziasztok!
Tud valaki C-bol hivhato/hasznalhato telnet szerver konyvtarrol? A kerese'sek eredmenyei rendre egy java-ban implementalt valtozathoz vezetnek. Amihez kellene, az viszonylag egyszeru: adott egy program, fut a hatterben szerverkent, es szeretne'k hozzacsapni egy kulturalt (curses lehetosegeit megado, pl rendesen szerkesztheto") parancssoros vezerlest.
Kapcsolodo kerdes: a telnet negotiation-t mindig a szerver kezdemenyezi?
thx, A.

JavaScript objektum tulajdonság elérése változóval

Sziasztok!

Van egy JavaScript objektumom (item). Ennek az objektumnak van egy tulajdonsága (type). Ezt normál esetben így érem el: alert(item.type). A problémám viszont, hogy a type helyett egy változót kellene használnom, tehát valahogy így:

var property = 'type';
alert(item.property);

Így viszont a 'property' nevű tulajdonságot próbálja meg visszaadni ahelyett, hogy a property változó értékét helyettesítené be. Valaki tud erre megoldást?

PHP-ből hogy jó C programot futtatni?

Írtam egy C++ programot az egyik havernak. Ő PHP-ből akarja ezt futtatni, egy weblapon.

A programnak van bemenete, standard inputon, van kimenete standard outputon, meg egyébként most tesztelés alatt egy fájlt is ír.

Azt mondja, hogy nem megy. De nem tudja, miért. Valami más tesztprogram (hello world, kb.), az megy ugyanott.

Nekem PHP-vel 0 tapasztalatom van. Légyszi valaki írjon pár tanácsot, kb. olyasmit, hogy egyáltalán hogy kell futtatni úgy, hogy a kimenetét megkapjam (gondolom, valami $kimenet = `programomo $input` bonyolultságú lehet)

Valamint miben tér el a PHP által biztosított környezet a shell környezetétől? (Mert shellből persze megy a program).

Köszi,
G

.htaccess Internal Server Error

Sziasztok!

Tud valaki ajánlani egy értelmes és lehetőleg magyar nyelvű leírást az apache .htaccess -hez?
Olyasmire gondolok, hogy ebben a pancsban mi az "L", az "R", a "301", a "^(.*)$" stb..... és hogy ezeket milyen formátumban írjuk be, stb....

RewriteEngine on
RewriteRule ^(.*)$ http://www.domain.com/cgi-bin/dir/go.cgi?ID=$1 [L,R=301]

( innen származik a példa: http://www.affiliatebeginnersguide.com/links_guide/htaccess.html)

Ha ezt beírom a .htaccess-be, akkor a következő hibaüzenetet kapom:
"Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Apache/1.3.33 Server at localhost Port 80"

Mi lehet a gond?

Köszi.
MysteryKe.

phpsecinfo: ha biztonságosabb php.ini-t szeretnél...

Sziasztok!

Véletlenül botlottam bele ebbe: http://phpsecinfo.com/
Kipróbáltam, és elsőre elég borzalmas képet festett a házi webszerverem :-)
Végül sikerült "1 sárgára" kihoznom a dolgot, de azt is csak azért, mert az általa javasolt 8MB RAM-mal nem ment a drupalom...

Szerintetek mennyire érdemes komolyan venni a javaslatait, hiszen egy 2007-es cuccról van szó?

Ja ha valaki elsőre nem értené miről beszélek, ez egy php.ini csekkoló "weblap", ami sárga, zöld és piros színekkel jelzi a 16 teszt eredményeit, és ad javaslatokat a javításra. Ha jól vettem ki a honlap szavait, akkor a php biztonságossá tételéhez ad segítséget.

Direkt link a teszt szoftverhez: http://phpsec.org/projects/phpsecinfo/phpsecinfo.zip

Nektek mi a véleményetek róla?

php fast-cgi, 500 error újra

Sziasztok!

Nem tudom replodukálni a hibákat, számomra véletlenszerűen 500-as hibákat dobál a szerver. Kb 100 weboldal van a szerveren: wordpress, joomla, phpbb, stb vegyesen.

Hibák amik előjönnek:
- Handler for fastcgi-script returned invalid result code 1
- Interrupted system call: FastCGI: comm with server ...
- FastCGI: comm with (dynamic) server ... aborted: error parsing headers: duplicate header 'Status'
- FastCGI: incomplete headers (0 bytes) received from server ...
- FastCGI: client stopped connection before send body completed

configok:

vhost (bocs,

[code]

-al is elnyelte ha ide copyztam)

fast-cgi.conf:
FastCgiIpcDir /var/lib/apache2/fastcgi
FastCgiWrapper /usr/lib/apache2/suexec
FastCgiConfig -killInterval 60 \
-startDelay 5 \
-idle-timeout 60

fcgi:
#!/bin/sh
PHPRC="."
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
exec /usr/lib/cgi-bin/php5 $*

Szoftver:

Ubuntu-Server 8.04.3 Hardy Heron - Release amd64
php5 5.2.4-2ubuntu5.7
php5-cgi 5.2.4-2ubuntu5.7
libapache2-mod-fastcgi 2.4.6-0ubuntu1
apache2 2.2.8-1ubuntu0.11
apache2-mpm-worker 2.2.8-1ubuntu0.11

apache modulok:
actions.conf
actions.load
alias.conf
alias.load
auth_basic.load
authn_file.load
authz_default.load
authz_groupfile.load
authz_host.load
authz_user.load
autoindex.conf
autoindex.load
cgid.conf
cgid.load
dir.conf
dir.load
env.load
fastcgi.conf
fastcgi.load
mime.conf
mime.load
negotiation.conf
negotiation.load
rewrite.load
setenvif.conf
setenvif.load
status.conf
status.load
suexec.load

Amire eddig jutottam:
Miután hozzáadtam a confighoz a
-killInterval 60 \
-startDelay 5 \
-idle-timeout 60
részt, az idle timeout hibák megszüntek, és a teljesítmény is jelentősen javult.

Joomlában ez alapján sikerült megoldani a "duplicate header 'Status'" hibát.

Tehát header("Status: 200"); helyett header("HTTP/1.0 200") kell cgi-ben. Ez ok. Viszont phpbb-ben nem találtam ilyet. Ami volt az már ki volt kommentelve és helyette HTTP volt. Log mégis tele van "duplicate header 'Status'" hibákkal.

Ötlet a többi hibára?

mediawiki & multilang = ... (hogyan???)

Sziasztok!

Többnyelvű dokumentáció készítéséhez szeretnék felrakni a szerverünkre egy MediaWikit. Arra lenne szükségem, hogy adott bejegyzés többféle nyelven is fent legyen, és egyszerű legyen választani a nyelvek közül. Erre találtam két kiegészítőt, de valamit nagyon nem értek. Ajánlják az együttes használatukat, viszont nincs egy olyan MediaWiki verzió, amely mindkettővel kompatibilis. Ha jól értelmezem.


Extension:LanguageSelector
[...]
For more comprehensive support for multilingual content, LanguageSelector can be combined with the Multilang and Polyglot extensions.
[...]
(requirements)
MediaWiki 1.11+ (tested up to 1.15alpha)
--------------------------------------
Extension:Multilang
[...]
(requirements)
MediaWiki > 1.7 (1.6.10) < 1.11

Van ötletetek arra, mi lenne a megoldás? Lehet, hogy rosszul keresgélek, és pofonegyszerű a dolog, de én még nem bukkantam a nyomára :(

php-fcgi

Sziasztok!

Egy olyan problémám lenne, hogy rengeteg php-cgi szál fut, és egy idő után az apache eldobálja a kapcsolatokat erőforrás hiányra hivatkozva. Valami oknál fogva nem állnak le a php-cgi szálak, és az újak meg folyamatosan jönnek létre. Most is van olyan szál ami reggel óta fut.

A szerveren mod_fcgi modulal futó apache 2 fut.

Van ötletetek, hogy mi okozza a szálak "beragadását"?

Köszönöm

cgi chat pythonban

hali!

irtam egy cgi chatet pythonban, es 2 dolgot szeretnek megoldani:
1. frissuljon, ha uj uzenet erkezik
2. amikor kuldok egy uzenetet es refreshelek, akkor megint elkuldi

lecci segitsetek itt a kod:
-------------------------------------------------------------------------------------
#!/usr/bin/python
import cgitb; cgitb.enable()
from server import *
import slhtml
import time
import cgi
import os

thetime = time.asctime()[11:16]

def checkban(banlist, ip):
f = open(banlist, "r")
bans = f.read()
f.close()
if ip in bans:
print "< div align=\"center\" >< h2 >You're banned!< /h2 >< /div >"
slhtml.end_html()
exit()

def readhistory(history_file):
f = open(history_file, "r")
history = f.readlines()
f.close()
history.reverse()
count = 0
for message in history:
if count < 26:
print message+"< br / >"
count += 1
else:
pass

def writehistory(history_file, content):
f = open(history_file, "a")
f.write(content+"\n")
f.close()

def write_log(log_file, content):
f = open(log_file, "a")
f.write(content+"\n")
f.close()

def msg():
print """
< p >< h2 >Message< /h2 >< /p >
< form method="post" action="%s/cgi-bin/chat.py" >
< p >Name:< /p >
< p >< input type="text" name="name" size="26" / >< /p >
< p >Message:< /p >
< p >< textarea name="msg" cols="30" rows="3" >< /textarea >< /p >
< p >< input type="submit" value="Send!" >< /p >
< /form >""" % (Server.host)

def main():
slhtml.start_html("chat.py", "#000000", "#00ff00")
print "< div align=\"center\" >< h1 >CGI Chat< /h1 >< /div >"
checkban("/var/www/chat/banlist", os.environ["REMOTE_ADDR"])
msg()
form = cgi.FieldStorage()
if form.has_key("name") and form.has_key("msg"):
writehistory("/var/www/chat/history", "[%s] <%s> %s" % (thetime, form["name"].value, form["msg"].value))
write_log("/var/www/chat/log", "[%s] < %s > %s (%s)" % (thetime, form["name"].value, form["msg"].value, cgi.escape(os.environ["REMOTE_ADDR"])))
readhistory("/var/www/chat/history")
else:
readhistory("/var/www/chat/history")
slhtml.end_html()

if __name__ == "__main__":
main()