sziasztok.
Kezdek megőrülni egyetlen problémával.
PHP-ban az
include ('/tmp/file.log');
eddig mindig működött. Ha
php script.php
parancsot futtattam, akkor is, és ha böngészővel nyitottam meg, akkor is. Szépen beolvasta a file.log tartalmát.
Most azonban nem teszi, pedig a file létezik, nincs zárolva, nincsenek benne különleges karakterek, jogok is megvannak...
parancssorban megvan a kimenetben, de a firefox nem eszi meg, és ezt nem értem. Ugyanis vannak fájlok, melyeket rendesen megesz így a böngésző, de ezt az egyet nem.
Próbáltam már zárójel nélkül is, más idézőjellel, kerestem az anomáliát sokféleképpen, de nem értem.
- 3431 megtekintés
Hozzászólások
a file tartalma mindössze ennyi:
netstat: 30294
vsftpd: 151
ntpd: 508
httpd: 153 299 301 302 304 309 2244 12948
- A hozzászóláshoz be kell jelentkezni
open_basedir?
- A hozzászóláshoz be kell jelentkezni
És ezt miért include-olni kell? Miért nem file_get_contents()?
- A hozzászóláshoz be kell jelentkezni
A kimenet egyszerű html.
Eddig mindig működött, a többi file is szépen bejön, csak kettő nem.
Már azt keresem kínomban, hogy van-e a php kódban valami láthatatlan karakter, ami anomáliát okozhat.
- A hozzászóláshoz be kell jelentkezni
Tök jó, tudom valahogy befolyásolni, hogy mi kerül abba a logfájlba? Mert akkor máris tudok a szervereden kódot futtatni...
Ha a feladat annyi, hogy egy fájl tartalmát kiírd, akkor az fopen/fpassthru/fclose hármas lesz a barátod (ezek nem fogják értelmezni neked a fájlt, mint PHP kódot). Ha ez egy HTML oldal, akkor fopen/fread/fclose/htmlspecialchar lesz a barátod. (ha meg sima txt oldal, függetlenül attól, hogy a fájlon kívül írsz-e ki valamit, akkor még egy rendes mime type-ot állíts neki)
Szerk.: ill. told fel a hibajelentést (error_reporting) és nézegesd a szerver naplóját, vagy kapcsold be ideiglenesen (!) a usernek kiküldést a hibaüzenetekre (.htaccess-ből phpflag display_errors on vagy ini_set('display_errors', true)
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
echo file_get_contents('/tmp/file.log');
Ennel egyszerubben nem lehet evalmentesen.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
readfile ? :)
- A hozzászóláshoz be kell jelentkezni
ez is volt.
- A hozzászóláshoz be kell jelentkezni
Amikor azt írtam, még nem volt szó arról, hogy ilyen rövid a file :) Az fpassthru-nak az az előnye megvan, hogy simán streameli az egész fájlt gyakorlatilag fd-ről/fd-re és nem húzza be a PHP futtatókörnyezetbe. Rövid fájlokra persze file_get_contents.
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
Másik könyvtár?
(ami nem /tmp)
- A hozzászóláshoz be kell jelentkezni
parancssorban működik, böngészővel még szerveroldalon sem.
- A hozzászóláshoz be kell jelentkezni
Emlékeim szerint ez anno megszűnt, mert a /tmp-t bárki írhatja így biztonsági okból onnan nem lehet include-olbi.
fixme!
ps.: javaslom, hogy használj más könyvtárat erre aminél leszabályozod a jogokat
- A hozzászóláshoz be kell jelentkezni
Nem lehet? Akkor a többi fájlt miért tudom?
Nem véletlenül szakad szét az agyam...
- A hozzászóláshoz be kell jelentkezni
#define nem_eszi_meg ?
apacs error_log? + fentebb egy rakás error log opció ?
Tuti van valahol nyoma, hogy miért is "nem_eszi_meg" :)
- A hozzászóláshoz be kell jelentkezni
Ez egy Arch linux, gőzöm sincs a logokról, egyáltalán annak is örülök, ha valamit elérek itt.
- A hozzászóláshoz be kell jelentkezni
Akkor az baj... Mert az lenne a legeslegelső "menüpont" a hiba felderítésében... :/,
és mivel php-cli ből megy, nagyon valószínű, hogy
a) webszerver config fogja meg
b) webszerver által használt php.ini beállítás fogja meg
így hirtelen "látatlanba" ennyi ötlet van.
- A hozzászóláshoz be kell jelentkezni
Akkor jobban jarnal, ha megkerdezned a rendszergazdat. #irony
Viccen kivul: elolvasod az apache konfigjat, es megkeresed a logokat. Nagyfiu vagy, tessek kicsit onallonak lenni.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
marad a BASH kétpercenként lefuttatva.
http://hup.hu/node/152076#comment-2067540
- A hozzászóláshoz be kell jelentkezni
E kettőnek külön php.ini-je van. Hasonlítd össze őket.
- A hozzászóláshoz be kell jelentkezni
Kis kódrészlet a parancssori kimenetből:
rtl_ais.temp:<BR><BR><PRE>Edge tuning disabled.
DC filter enabled.
RTL AGC disabled.
Internal AIS decoder enabled.
Buffer size: 163.84 mS
Downsample factor: 64
Low pass: 25000 Hz
Output: 48000 Hz
Found 1 device(s):
0: Generic, RTL2832U, SN: 77771111153705700
Using device 0: Generic RTL2832U
Found Rafael Micro R820T tuner
Log NMEA sentences to console ON
AIS data will be sent to 127.0.0.1 port 10110
Tuner gain set to 8.70 dB.
Tuner error set to 37 ppm.
Tuned to 162000000 Hz.
Sampling at 1600000 S/s.
</PRE>-----<BR>ais.log last sentences:<BR><BR>!AIVDM,1,1,,B,33Wj8k1P001G?sBK:jA00?vnPDsb,0*2A
!AIVDM,1,1,,A,13WknV5P221G>CFK:whmfOwf00Rk,0*0A
!AIVDM,1,1,,A,13WknV5P211G>QjK:uS62OvJ0<0u,0*5C
!AIVDM,1,1,,B,13WknV5P1@1G>lfK:rVE<OwH0@K@,0*52
!AIVDM,1,1,,A,13Wks`hP1UQG>T4K:uDEmgwhRHQ>,0*7A
!AIVDM,1,1,,B,13WknV5P161G?78K:r2CK?v:0@4H,0*41
!AIVDM,1,1,,A,13Wks`hP1UQG>i@K:s?EngvRR8:?,0*6C
!AIVDM,1,1,,B,13WknV5P0o1G?E0K:rOAoOvf00Sn,0*25
!AIVDM,1,1,,A,33Wj8k1P001G?sBK:jA00?w<PDjJ,0*4B
!AIVDM,1,1,,A,13WknV5P0n1G?EjK:shLR?wd08QB,0*3E
!AIVDM,1,1,,B,13WknV5P131G??bK:tAt7gv:0<0t,0*34
!AIVDM,1,1,,B,13Wks`hP1JQG?DNK:o:5FOv>R620,0*5E
!AIVDM,1,1,,A,13Wks`hP1KQG?LRK:nKUAgvRR620,0*1B
!AIVDM,1,1,,B,33WknV5P171G?1@K:u7cnOvh02pS,0*34<BR>-----<BR><h3><font color=\"#2DFFFF\">Free space: 439M <BR>
Uptime: 5:49 <BR>
System time: 19:40:38
2017 Feb 15 CET<BR>
Processor: 49.2°<BR>Logger files:<BR>71M Feb 11 17:56 /opt/gps.minicom <BR>
0 Feb 15 19:40 /opt/gps.minicom.RMC.nmea <BR>
671 Feb 15 18:55 /tmp/ais.log <BR>
<BR></font></h3> 19:40:39 up 5:49, 2 users, load average: 1.12, 0.88, 0.77
<BR><PRE>wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.12.1 netmask 255.255.255.0 broadcast 192.168.12.255
ether 10:7b:ef:cd:0a:d1 txqueuelen 1000 (Ethernet)
RX packets 56014 bytes 7125875 (6.7 MiB)
RX errors 0 dropped 777 overruns 0 frame 0
TX packets 40844 bytes 13899785 (13.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
(a html-tagek itt nem látszanak)
Szóval ezeket különböző fájlokból veszem include-dal. Minden bejön, kimenet megvan parancssorban, de böngészővel 2 fájlból nem tudok kimenetet varázsolni. Olyanokból, amelyekben még különleges karakter sincs.
Az anomáliát nem értem.
- A hozzászóláshoz be kell jelentkezni
Jobb klikk böngészőbe -> oldal forrása -> úgy sem látszik? :)
- A hozzászóláshoz be kell jelentkezni
Nem. Az elsők között volt, amit néztem.
A fenti kimenetet nézve ez a másik file tartalma, ami böngészőben nem jelenik meg:
"
rtl_ais.temp:Edge tuning disabled.
DC filter enabled.
RTL AGC disabled.
Internal AIS decoder enabled.
Buffer size: 163.84 mS
Downsample factor: 64
Low pass: 25000 Hz
Output: 48000 Hz
Found 1 device(s):
0: Generic, RTL2832U, SN: 77771111153705700
Using device 0: Generic RTL2832U
Found Rafael Micro R820T tuner
Log NMEA sentences to console ON
AIS data will be sent to 127.0.0.1 port 10110
Tuner gain set to 8.70 dB.
Tuner error set to 37 ppm.
Tuned to 162000000 Hz.
Sampling at 1600000 S/s.
"
A törtvonal nem tetszene neki az S/s-nél?
A másik, ami csak bash-ban jön ki a kimeneten, az ez:
"
!AIVDM,1,1,,B,33Wj8k1P001G?sBK:jA00?vnPDsb,0*2A
!AIVDM,1,1,,A,13WknV5P221G>CFK:whmfOwf00Rk,0*0A
!AIVDM,1,1,,A,13WknV5P211G>QjK:uS62OvJ0<0u,0*5C
!AIVDM,1,1,,B,13WknV5P1@1G>lfK:rVET4K:uDEmgwhRHQ>,0*7A
!AIVDM,1,1,,B,13WknV5P161G?78K:r2CK?v:0@4H,0*41
!AIVDM,1,1,,A,13Wks`hP1UQG>i@K:s?EngvRR8:?,0*6C
!AIVDM,1,1,,B,13WknV5P0o1G?E0K:rOAoOvf00Sn,0*25
!AIVDM,1,1,,A,33Wj8k1P001G?sBK:jA00?wR620,0*5E
!AIVDM,1,1,,A,13Wks`hP1KQG?LRK:nKUAgvRR620,0*1B
!AIVDM,1,1,,B,33WknV5P171G?1@K:u7cnOvh02pS,0*34
"
Itt sem látok beteg karaktert, amitől az include-nak be lkellene hasalnia.
- A hozzászóláshoz be kell jelentkezni
És semmi hibaüzi? Display errors-t bekapcsolhatnád egy próba erejéig :)
A php file elejére:
ini_set("display_errors", 1);
error_reporting(E_ALL);
- A hozzászóláshoz be kell jelentkezni
Van:
Warning: include(/tmp/rtl_ais.temp): failed to open stream: No such file or directory in /dev/shm/asd-root/srv/http/domain1.com/nmea/ais.php on line 5
Warning: include(): Failed opening '/tmp/rtl_ais.temp' for inclusion (include_path='.:/usr/share/pear') in /dev/shm/asd-root/srv/http/domain1.com/nmea/ais.php on line 5
- A hozzászóláshoz be kell jelentkezni
Mit keres ez a /dev/shm alatt?
Valamit nagyon elbarmolhattál ott...
- A hozzászóláshoz be kell jelentkezni
a /dev/shm alá a backdoorokat szokták tenni.
IMHO megtörték, és berakták neki php.ini include path-ba a /dev/shm/...-t.
- A hozzászóláshoz be kell jelentkezni
Sokat lehet tanulni néha tőletek.
De nem most.
Szóval megtörtek egy Arch-os rpit, amit nem engedek ki az internetre sem..
- A hozzászóláshoz be kell jelentkezni
Nem, csak berantottak az oldal kodjat a /dev/shm ala, valoszinuleg bootkor szinkronol be. Nem latom be egyebkent, h ennek mi ertelme van azon felul, hogy ha valami csunya dolgot toltenenek fel az oldalnak, akkor azt egy reboot megoldja, de ez igy akar meg valid is lehet.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Ezt a /tmp/rtl_ais.temp cucc mikor jön létre? Mert a fenti alapján amikor a script eljut odáig akkor még nem létezik :)
- A hozzászóláshoz be kell jelentkezni
Ott a hibaüzenet:
"Warning: include(): Failed opening '/tmp/rtl_ais.temp' for inclusion (include_path='.:/usr/share/pear') in /dev/shm/asd-root/srv/http/domain1.com/nmea/ais.php on line 5"
az include_path van lekorlátozva...
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
(Debian-on) alapesetben, ha php_cli-ből hívod az include függvényt, akkor bárhonnan inklúdolhatsz, csak fájlrendszer jogosultságod legyen hozzá.
Ha a php-t az apache hívja/futtatja (mod_php), akkor rövid(relatív) fájlnévvel csak az include_path= mappából enged inklúdolni-olni, vagy az inklúdolásnál meg kell adni külön a teljes elérési utat a fájlnévre. (plusz olvasási joggal kell rendelkezzen a www-data, a fájlra), ellenkező esetben azt a hibaüzenetet adja vissza, hogy a fájl nem létezik.
(Plusz a fent említett /tmp korlátozás is él.)
Két, különálló php.ini van a php_cli-nek és a mod_php-nak, ahol ezek tetszés szerint változtathatók.
- A hozzászóláshoz be kell jelentkezni
Az include nem erre való. Az hogy működött, nem jelenti azt, hogy jó a megoldás.
nézd meg, hogy az
echo file_get_contents('/tmp/file.log');
működik-e, és ha igen, akkor azt kell használni.
- A hozzászóláshoz be kell jelentkezni
Vagy:
readfile('/tmp/file.log');
(kevesebbet kell gépelni :))
- A hozzászóláshoz be kell jelentkezni
srácok, idézet fentebbről:
Ez egy Arch linux, gőzöm sincs a logokról, egyáltalán annak is örülök, ha valamit elérek itt.
^^
- A hozzászóláshoz be kell jelentkezni
azért egy tail -f /var/log/apache_logfájl_név annyira nem nehéz.
és tudod, STFW is egy válasz... :D
--------
HOWTO: Zentyal+Zarafa+Setup+Outlook+Thunderbird+mobilephone sync
- A hozzászóláshoz be kell jelentkezni
# tail -f /var/log/rtl_ais.temp
tail: cannot open '/var/log/rtl_ais.temp' for reading: No such file or directory
tail: no files remaining
...pedig van.
- A hozzászóláshoz be kell jelentkezni
ls -al /var/log/rtl_ais.temp mit mond?
de egyébként az apache(?) logból akartam a php hibát kiszedetni
--------
HOWTO: Zentyal+Zarafa+Setup+Outlook+Thunderbird+mobilephone sync
- A hozzászóláshoz be kell jelentkezni
ls: cannot access /var/log/rtl_ais.temp: No such file or directory
ezen a zombiArch-on httpd van, minden, ami debianos leírás, számomra használhatatlan.
- A hozzászóláshoz be kell jelentkezni
pedig nagyon úgy tünik, nincs ott az a fájl. miböl gondolod, hogy ott van?
--------
HOWTO: Zentyal+Zarafa+Setup+Outlook+Thunderbird+mobilephone sync
- A hozzászóláshoz be kell jelentkezni
# ls -l /tmp/
total 12
...
-rw-r--r-- 1 root root 703 Feb 16 15:48 nmea-tail10.tmp
-rw-r--r-- 1 root root 6 Feb 16 14:33 ntp.drift
-rw-r--r-- 1 root root 482 Feb 16 13:33 rtl_ais.temp
...
ebből.
- A hozzászóláshoz be kell jelentkezni
Nem tudom, hogy feltűnt-e neked, hogy a /var/log és /tmp az nem ugyanaz a könyvtár.
- A hozzászóláshoz be kell jelentkezni
Most akkor /var/log/rtl_ais.temp vagy /tmp/rtl_ais.temp ?
Sic Transit Gloria Mundi
- A hozzászóláshoz be kell jelentkezni
Gondolom, hogy feltűnt neki, ha már gyorsan megmódosította a kommentjét, amiben még szerepelt a /var/log.
- A hozzászóláshoz be kell jelentkezni
néha van ilyen, hogy (20 óra munka után már) nem látja az ember a fától az erdöt...full tilt
ilyenkor kell aludni rá egyet... :)
--------
HOWTO: Zentyal+Zarafa+Setup+Outlook+Thunderbird+mobilephone sync
- A hozzászóláshoz be kell jelentkezni
Segitek, a Debianon is httpd van, csak apache2 -re at van nevezve. Komolyan, ha ennyire nem ertesz hozza, akkor lepj ket lepest hatra a geptol, es add at a problemat olyannak, aki ert hozza, vagy vedd a faradsagot, es ne csak sikoltozz, hanem olvass utana a bajnak. Mert jelenleg nem _akarod_ megerteni a problemat, csak sikoltozol. Azzal nem megyunk elore.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
írd át require -re, illetve előtte legyen error_reporting(E_ALL); és ini_set('display_errors', 1);
Így talán kiírja a hibát is. Valszeg tleg permission para lesz.
Amúgy ilyet valóban nem csinálunk, ez kb egyenértékű azzal, hogy include($_GET['menu']);
Fogadd meg a többiek tanácsát és írd át file_get_contents -re, főleg ha nincs szükséged php fordításra az adott fájlon.
- A hozzászóláshoz be kell jelentkezni
próbáltam a require-t is.
Nemsokára megint leülök és végignézem, mit írtatok.
- A hozzászóláshoz be kell jelentkezni
Apparmor vagy selinux nincs a képben?
DigitalOcean 10$ kredit - <3 openSUSE, Ubuntu, KDE <3
- A hozzászóláshoz be kell jelentkezni
Eredetileg az volt a tervem, hogy a készülő kis eszközömre egy böngészővel is rá tudjak nézni. Lássam, futnak-e a processzek, növekszik-e a log file, amely a GPS-ról nyers NMEA mondatokat rögzít, valamint az AIS-ről vett adathalmazt miután egy php script visszafejtette, rögzítse a hajók adatait (flag, hívőjel, mmsi number)
Eddig 2 percenként egy bash script állította elő a html kimenetet, crontab se kellett hozzá, nem csináltam azt se neki. A BASH a teljes gyökérhez hozzáfér, így olvas a /tmp könyvtárból is, míg mondjuk egy apache nem. Ha mindent átírnék PHP-ba, akkor nem kellene 2 percenként lefutnia egy bonyolult scriptnek, hanem egy kliens böngészője indítaná csak a folyamatot, az is csak akkor, ha a júzer (én) értelmesnek találná ennek meglétét.
A php erőltetését azért láttam jónak, mert az egyetlen AIS-dekóder azzal működött eddig, ami független a chartplottertől.
Így, hogy csak szelektíve képes a PHP a /tmp/ könyvtárból fájlokat olvasni, nem bízhatom benne, nyilván a tudatlanságom az oka. Az erre fordított idő 6 nap volt, elképzelésem a dolgokról az, hogy ha egy hét alatt sem tudok valamit megoldani, marad az, ami bevált, akkor is, ha az a legszutykabb megoldás.
Ettől egyre idegesítőbb az egész, de sebaj.
- A hozzászóláshoz be kell jelentkezni
Te, logikusan vegiggondolva, nem lehet, hogy az a baj, hogy amikor a PHP lefut, akkor konkretan nem letezik az a fajl a /tmp alatt?
Probalj mar meg egy olyat, hogy mielott beolvasod, megfuttatsz rajta egy file_exists-et. Ez sima PHP-s fuggveny, teljes mertekben fuggetlen a hasznalt disztrotol, magyarul Arch alatt is jot kell visszaadjon. A lenyeg az, hogy pontosan ugyanaz legyne a parametere, mint az include/require/file_get_contents hivasnak. Peldaul:
$file = "/tmp/rtl_ais.temp";
if(file_exists($file)) {
echo file_get_contents($file);
} else {
echo "Baj van babam, a {$file} nincs a helyen!\n";
}
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
az a baj, hogy a file létezik. Nem úgy, hogy valamilyen folyamat folyamatosan írja és mindig ugyanaz a tartalma, hanem szervesen létezik. A BASH cat simán hozzáírja a tartalmat egy < pre > < /pre > tag közé, semmi bajom vele.
Eddig a php-re való átállást úgy kezdtem el, hogy exec();ekkel meghívtam a basht-majd azok kimenetét include-dal beolvastam, így hoztam létre a php-vel előállított, valósabb idejű dolgokat. Arra gondoltam, hogy az execeket és az inklúdokat folyamatosan kiváltanám rendes php-kóddal, de előbb persze menjen az, ami eddig is ment bash-ban.
Erre a /tmp/-ből van ami jó include-dal, van. ami nem. 8 megy, 2 file nem. Agyrém...
Így ment el a kedvem egy időre megint a php-től
- A hozzászóláshoz be kell jelentkezni
Na, akkor már legalább az irány jó.
Egyel kevesebb php-hoz inkompetens ember fog php-be kontárkodni.
Ez jól is van így, sőtt külön elismerés a korlátaid felismeréséért!
Amit nem értek, hogy ha már a /tmp-be oda tudod generálni azt a nyüves fájlt, aminek a tartalma úgyis csak akkor változik meg, amikor a cronjobot azt újragenerálja.
Akkor miért nem egyből egy olyan helyre generálod a /tmp helyett, ami a docroot alatt van, neadjisten egy tök üres könyvtárban, pl /usr/local/share/bzsgen oda mondjuk x.txt néven!
És az apache konfigba meg teszel egy erre való utalást, hogy a /truváj az igazivól a /usr/local/share/bzsgen könyvtárból légyen kiszolgálódva?
Talán valami ilyesmi volt még apacson:
Alias /truváj /usr/local/share/bzsgen
<Directory /usr/local/share/bzsgen>
opciok, meg mindenfele directory konfig amik a konyvtarra kellenek
</Directory>
Szóval ha ott már amúgy sem kell parsolni, mi a péknek próbáltál ide még-1 bash-t, php-t, bármi exec/interpretálás/bármi layert rakni, ha az amúgy by design már tök fölösleges?
Ha meg szopatniakartadmagad^Wtanulni szerettél volna, akkor javaslom a fenti hsz-ek figyelembevételét, és vedd a fáradságot a php megismerésére, meg hogy mi az include() és a get_file_contents() közt a különbség.
- A hozzászóláshoz be kell jelentkezni
örülök, hogy nem rabolom tovább az idődet.
- A hozzászóláshoz be kell jelentkezni
Javaslom vedd épitő jelleggel a fenti kritikákat, egyszerűen fogtál egy kalapácsot, és hegeszteni akartál vele. Volt amikor össze is jött, de nem azért, mert az úgy jó. Most fentiekben kb. 10x le van irva az az egysoros megoldás, amire cserélned kéne a te megoldásod, vagy próbálhatsz a kalapácsba áramot vezetni, de nem lesz jó.
- A hozzászóláshoz be kell jelentkezni
Ha a bash-szkripted jó, miért nem használod azt?
https://linuxconfig.org/simple-cgi-and-apache-examples-on-ubuntu-linux
Persze ne feledd, hogy ilyenkor nem root-ként fog futni a szkripted, tehát a jogosultságok legyenek rendben!
Meg persze a másik, hogy ekkor már nyilván nem kell a bash-nak végtelenített ciklusban, 2 perces sleep-ekkel futni, elegendő csak egyszer :)
- A hozzászóláshoz be kell jelentkezni
Nem biztos, hogy minden kommenetet végigolvastam, így lehet, hogy már volt akár a kérdés, akár a válasz: meg tudod próbálni azt, hogy az include/readfile/file_get_contents előtt kilistázod az adott könyvtárat? (Mármint a PHP-ból...) Pl lehet, hogy chroot-ban vagy, és más az ottani /tmp...
- A hozzászóláshoz be kell jelentkezni
Eredetileg a file, amit include-dal be akartam illeszteni a php scriptbe, szintén php script, egy string megadásával.
A PHP5 könyv szép piros, kb. 2 kg. Nehéz könyv. 329. oldalán ez van:
a) ,,megfelelő nyelvi konstrukció''
b) ,,az elemzés a beillesztés pontján php-üzemmódból html üzemmódba vált át, a csatolt állományban lévő programkódot szintén szabályszerű PHP-kódhatárolók közé köll fognunk ahhoz, hogy a fájlt futtatni lehessen a programban''
ezután kipróbáltam, hogy mi van akkor, ha az inklúdolni szánt kódban a
< ? p h p
és a
? >
közé zárom a marhaságomat.
Bejött, működik.
- A hozzászóláshoz be kell jelentkezni
OMFG! sokkal, de sokkal menthetetlenebb vagy mint azt gondoltam
- A hozzászóláshoz be kell jelentkezni
De a PHP is :-)
- A hozzászóláshoz be kell jelentkezni
nem baj. Ha az én utcámban járnál, ott meg te lennél az. Viszont én nem öntelek ezzel nyakon.
- A hozzászóláshoz be kell jelentkezni
Csak tudod... vagy hat éve jelezzük neked többen is, hogy valahogyan nagyon kifacsarod az egész történetet, össze-vissza szétszórtan állsz neki (=gányolsz). Aztán csodálkozol, hogy nem mennek rendesen a dolgok. Ha meg erre felhívják a figyelmed, meg is sértődsz. Így nehéz.
- A hozzászóláshoz be kell jelentkezni
ennyire nem fájhat, hogy most egy könyvben találtam megoldást.
- A hozzászóláshoz be kell jelentkezni
Nem hiszem, hogy barkinek is az fajna, hogy hol talaltal megoldast. Sokkal inkabb a hozzaallasod.
Az olyan bejegyzeseket, amik azzal kezdodtek, hogy rossz uton jarsz, mert az altalad elgondolt megoldas nem arra valo, amit te szeretnel, es valoszinuleg ezert nem mukodik, azokat teljesen ignoraltad, hiaba javasoltak alternativ megoldast. Szerinted ez a megoldas magyarazza azt is, hogy miert nem mukodott a file_get_contents() illetve a readfile()? Vagy azokat ki sem probaltad? Vagy kiprobaltad, csak valaszra nem meltattad a segitseget nyujtani probalokat?
Egyaltalan miert kell az, hogy "a fájlt futtatni lehessen a programban"? Arrol volt szo, hogy egy log file tartalmat akarod latni.
Sic Transit Gloria Mundi
- A hozzászóláshoz be kell jelentkezni
Az fáj, hogy valaki ennyire kezdő legyen, úgy hogy közben azt a látszatot kelti a nagyérdeműben, hogy ő profi, és tökéletes, ennélfogva a kódjai is tökéletesek...
Sőt, annyira tökéletes, hogy a kérdésére érkezett megoldási javaslatokat pofátlanul visszautasítsa.
- A hozzászóláshoz be kell jelentkezni
Addig örülj amíg nem kell egyszer utána takarítanod :D
--
Gábriel Ákos
http://ixenit.com
- A hozzászóláshoz be kell jelentkezni
Ahogy ezt a témakört elnézem... Még nem is bzs a legnagyobb probléma. Ő egyszerűen csak buta, és még a saját korlátait sem hajlandó felismerni, beismerni és eszerint cselekedni.
A buta embernek ezt nem róhatod fel, ha egyszerűen nem tudja magáról, hogy az. "Jó az együgyűeknek, mert övék lészen a mennyeknek országa!"
A nagyobb probléma inkább az, hogy ahogy elnézem némelyik szálat itt a válaszok közt, a nyilvánvaló butaság ellenére még mindig van, aki annak a debugjában próbál segíteni, hogy a régebben működő include() miért nem műödik mostanra, és hogyan tegye ezt működővé.
A nyilvánvaló okot már ezügyben is láttuk, hogy az includepath egy picit racionalizálódott.
De számomra, amikor valaki ilyen megoldásban segít, az kb. azon tudósokkal egyenértékű emberiségellenes tett, mint akik az atombomba kifejlesztésében segítkeztek. (Most kifejezetten a tudós/fizikus emberekre gondolok, nem az egyszerű "mérnökökre", akik csak segédszámolásokat végeztek.)
Ti. így még bzs a maga egyszerű medvebocs fejével is találni fog itt pozitív feedback-et, a többi érv ami meg a nyilvánvaló hülyeségre hívná fel a figyelmét, simán kognitív disszonancia áldozata lesz.
- A hozzászóláshoz be kell jelentkezni
semmi vesz, hamarosan kerheted a hvk tagsagot.
- A hozzászóláshoz be kell jelentkezni
Az a helyzet, hogy nem megoldást találtál, hanem tökéletesen elfedted azt a nagy baromságot, amit 6 nap alatt masszívan összeszenvedtél. Nem hallgatsz senkire, ha megoldást kínálnak leszarod és teljes mértékben ignorálod. Ha valaki rámutat arra hogy márpedig taknyolsz és gányolsz, akkor az dögöljön meg.
Annak a könyvnek, ami 2 kilogramm és a 329. oldalán megtaláltad hogy a taknyolásod mégis működjön valahogy, van még legalább 328 egyéb oldala ahol le van írva hogy hogyan is kellene ezt helyesen megoldani. De ha tényleg baszol arra hogy azt a 328 egyéb oldalt elolvasd, akkor ezen fórumbejegyzés alatt is találsz legalább 5 megoldási javaslatot.
De nem. Te nem hallgatsz senkire. Te meggányolod a gányolást. A végén pedig csodálkozol, hogy mindenki nettó idiótának néz.
Egyetlen egy dolgot magyarázz meg nekem legyél szíves, mi a bánatos f*sznak teszel fel kérdést egy fórumban, ha igazából leszarod a válaszokat?
De igazából nekem mindegy is, mindenki arra k*r el 6 napot az életéből (ahelyett hogy !2 perc! alatt megoldaná) amire akar. Ha neked ez jó, akkor legyen, de ne sértődj vérig ha hülyének néznek ha már az vagy.
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Hát én megmondom őszintén csodállak. Téged is, és másokat is akik bzs-nek még segíteni próbálnak. Ha meglátom hogy egy topic-ot bzs nyitott nálam már reflexből jön a Ctrl-W. (Van még 2-3 ilyen nick amúgy).
- A hozzászóláshoz be kell jelentkezni
Annyira igazad van... Ilyenkor igazából pedig csak saját magam rúgtam lábon amikor ezt írtam: "De igazából nekem mindegy is, mindenki arra k*r el 6 napot az életéből"
Igaz csak pár percet, de arra fordítottam hogy bzs-nek valamit átadjak miközben már leszűrhettem volna a tanulságot a korábbiak alapján (és még csak fel sem húztam volna magam:))
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Ez az! Alázz minket! :)
- A hozzászóláshoz be kell jelentkezni
ezzel a topikkal újra lehetne índítani a http://phpfejlesztesmagyarorszag.tumblr.com/ -ot :D :D :D
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Szégyellem, hogy itt oldom meg a problémáimat.
Lassan áttérek más, kevésbé magyar fórumokra, mert ott legalább nem szívják a véremet.
Szégyellem, hogy tag vagyok itt.
- A hozzászóláshoz be kell jelentkezni
Javaslom nézd más szemmel, a leirtak nagyon nagy része javaslat volt, amikből látszólag semmit nem fogadtál meg, és nagyon rendszertelenül állsz neki nem is megoldást, de sebtapaszt keresni.
- A hozzászóláshoz be kell jelentkezni
Mindent megpróbáltam amit írtatok, és TI nem olvastátok végig a válaszaimat. Hol itt, hol ott láttam olyan sorokat, amelyek ezt igazolják.
Az, hogy végül ide írtam az én megoldásomat, végképp kiverte a biztosítékot nálatok, így egy időre elegem lett ebből. Itt.
Az olyan válaszokról, melyeket emelt szinten, néhány létrafokkal a kérdező feje fölött válaszolnak meg tudván, hogy az illető alapfokon sem érti a dolgokat --- erről nincs véleményem.
- A hozzászóláshoz be kell jelentkezni
Lófaszt, már megbocsájts.
Itt az ékes példája, hogy egy konkrét javaslatra igazából nem reagáltál, szerintem ki se próbáltad, hanem próbáltad bizonygatni hogy a tákold szarod miért jó és hogy annak helyére végül épp és értelmes kód kerül.
Ott az értelmes kód, nem kell tovább gányolni! Próbáld ki! Ha még se megy, reagálj rá!
"Az olyan válaszokról, melyeket emelt szinten, néhány létrafokkal a kérdező feje fölött válaszolnak meg tudván, hogy az illető alapfokon sem érti a dolgokat --- erről nincs véleményem."
Ez nem a kezdőpont, idáig eljutottunk, a fentiek okán a te hatalmas segítségeddel. Most is write-only vagy, semmire nem reagálsz csak a saját hülyeségedet szajkózod
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Esetleg az én kibaszott megoldásomat is olvastad, melyet egy kibaszott könyvben találtam meg?
trey: ha lehet, töröld a regisztrációmat. Nem fogok ide többet írni.
- A hozzászóláshoz be kell jelentkezni
Amit 5 nappal a kapott megoldás után találtál meg? Gratulálok hozzá, a szarod továbbra is szar, csak ragasztottál rá egy matricát, másokat meg telibe köptél.
Nem is ragozom tovább, mert nem vagy képes felfogni a dolgokat magad körül
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
A megoldásod lehet, hogy működik, de nem jó, és addigra mire ezt megirtad, addigra sokan komplett kódot irtak neked be, ami technikailag is jobb. Emiatt lenne érdemes kipróbálnod azokat a kódokat, mert tényleg nem láttam olyan kommentet, ahol leirtad, hogy kipróbáltad amit irtak mások. Ettől lettek sokan dühösek, hogy ha nem fogadod meg amit mondanak, akkor nem is beszélgetés ez itt.
- A hozzászóláshoz be kell jelentkezni
Szerintem ez (sem) segíti a fejlődésedet. :)
- A hozzászóláshoz be kell jelentkezni
De igazából ez az egész adok-kapok elkerülhető lenne, ha a topik nyitóban egy pár szóban odaírtál volna valami olyasmit, hogy most ismerkedem a php-val, vagy hogy nemrég kezdtem a php-val való foglalkozást.
Akkor talán kevésbé lennének "emelt szintűek" a válaszok.
- A hozzászóláshoz be kell jelentkezni
azért lettek "emelt szintűek", mert látványosabb beleszart a válaszokba, a második körre meg már mindenkinek elgurult a pirula :)
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Nem baj, mi is szégyelljük. :)
- A hozzászóláshoz be kell jelentkezni
"Szégyellem, hogy itt oldom meg a problémáimat."
Ahogy korábban többen is jeleztük, Nem oldottad meg a problémát
"Szégyellem, hogy tag vagyok itt."
Ne azt szégyelld, hogy itt vagy, hanem azt hogy egy olyan fórumon ahol nálad profibb emberek vannak, azok konkrét javaslatait szarod telibe, esetleg megsértődsz rajtuk.
"Lassan áttérek más, kevésbé magyar fórumokra, mert ott legalább nem szívják a véremet."
Hogy őszinte legyek, egy marha nagy szívességet tennél vele, de megjegyzem számodra: ezzel a mentalitással sehol nem lesznek kibékülve.
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Tévedsz! Ott nagy szükség lehet a tudására ahol hülyébbek vannak. :)
- A hozzászóláshoz be kell jelentkezni
nem akarok a net mély bugyraiba lejutni, de azért a 6 nap vs. include szintet egészen sok helyen megütik :D
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni