Jump to content
php.lv forumi

Skripts straadaa uz LINUX bet nestraadaa uz WIN


Recommended Posts

Sveiki.

 

Vai jums kaadreiz taa ir gadiijies, ka parasts php skripts uz LINUX servaka straadaa, bet uz WINDOWS ne?

 

Man te ir uzrakstiijies neliels Newsletter skriptinsh. Erroru nav, viss straadaa, bet kad to darbina uz WIN servaka, tas nesuuta variablus no viena faila uz otru. Win administeris ir pietiekami liels ezelis, lai nesaprastu, kas par vainu.

Raadiiju to skriptu saviem LINUX vechiem, tie arii nekaadu kljuudu neatrod. Ko taniis WIN settingos vareetu pamainiit, lai tas saaktu straadaat?

Link to comment
Share on other sites

Kā tu "sūti variablus no viena failu uz otra" ? Caur URL ?

 

Ja jā, tad pārbaudi vai tu gadijumā nepaļaujas uz registered_globals On. Un meibī uz Win register_globals ir Off. Var arī būt, ka tu skriptos izmanto "garos" globālos masīvus ($HTTP_POST_VARS un $HTTP_GET_VARS), bet Win serverim tie ir atslēgti (var izmantot tikai $_POST un $_GET).

Link to comment
Share on other sites

Kā tu "sūti variablus no viena failu uz otra" ? Caur URL ?

 

Ja jā, tad pārbaudi vai tu gadijumā nepaļaujas uz registered_globals On. Un meibī uz Win register_globals ir Off. Var arī būt, ka tu skriptos izmanto "garos" globālos masīvus ($HTTP_POST_VARS un $HTTP_GET_VARS), bet Win serverim tie ir atslēgti (var izmantot tikai $_POST un $_GET).

 

 

Tev laikam taisniba. Ja es neizmantoju $_POST, tad vispar nekas neiet. Bet, ja man ir darishana ar <a href> es $_POST izmantot nevaru. Ctrl+V fragmentinju ko nosutiju tam WIN administerim. Tatad: ir divi faili. Viens no db izveido html tabulu ar klientiem. Blakus katram klientam ir <a href>, kuru nospiezot klienta emails kaa variabls tiek aizmests uz otru failu, kas ljauj izmainit sha klienta datus un saglabat izmainjas datubaze. Diemzel, uz WIN servera variabls netiek nosuutiits...

Example

File1

echo "<td align=center><a href=editemail.php?email=%s>Edit</a></font></td>  ".$myrow["emailaddress"]."</td>"; 
//clicking to the link opens file with form fields populated by the value %s. It should. But it doesn’t work.//



File2 

<input type="text" name="oldemail" value="<?php echo $email; ?>">

//All I get is an empty field.

Link to comment
Share on other sites

99% ka vienam register_globals = on, bet otram = off.

 

Pirmais un obligātais solis, kad kaut kas neiet, ir uzlikt error_reporting(E_ALL); un ini_set('display_errors',1); Un TIKAI tad nākt sūdzēties forumā!.

Link to comment
Share on other sites

Pa URL padotie mainīgie taču ir pieeji iekš $_GET masīva.

 

wow. pareizi. nu viss strada arii uz WIN. Liels paldies. Es biezhi to $_GET abizhoju, aizmirstu par vinu. Ar tavam smadzenem uz Rietumeiropu pa taisno. Sheit tev cenas nebutu!!!

 

 

Prieksh references, ja nu kadam vajag:

File2 
$email = $_GET['email']; //shi rinda panem 'email' vertibu no File1
<form action="File3.php" method="POST">
<input type="text" name="oldemail" value="<?php echo $email; ?>">
<input type="text" name="newmail" value="<?php echo $email; ?>">
//nakamaja faila, kursh saglaba izmainas db, ir jadefine 'newmail', bet nu jau ka $_POST
$newmail = $_POST['newmail'];

 

 

Pirmais un obligātais solis, kad kaut kas neiet, ir uzlikt error_reporting(E_ALL); un ini_set('display_errors',1); Un TIKAI tad nākt sūdzēties forumā!.

Piekriitu, tachu shitam servakam nekadi error reporti nestrada. Es varetu pat sataisit sintakses kludu un ierakstit nepareizu db pasvordu, bet serveris man nepateiktu Couldn't connect to db. Ja tam kaut kas nepatik, tas vnk parada baltu lapu :) Nu koroch buus man mazliet ar to administeri japarunaajas..., jaauzdaavina vinjam LINUX instalaacijas :P

Edited by Bunkertor 7
Link to comment
Share on other sites

Ir ir tāda "opcija" PHP, kad rāda visas kļūdas izņemot E_ERROR

 

Es kaut kad pasen par to šeit jau žēlojos, bet problēma tā arī palika neatrisināta.

Nu i hren sņim, tas man tāpat ir mājas localhosts priekš spēlēšanās, bet vienalga nepatīkami.

Link to comment
Share on other sites

Nu nav gan un neesmu gluži TĀDS Antons...

 

Atļaušos citēt pats sevi :)

php.ini display_errors = on;

nelīdz arī error_reporting(E_ALL), lai gan visi pārējie normāli uzrādās, ieskaitot E_NOTICE un E_STRICT

 

Iespējams tā ir kāda instalēšanas/konfigurācijas figņa, katrā ziņā iekš php.ini neko atrast šajā sakarā man nav izdevies.

 

P.S. neviens gan nav izslēdzis iespēju, ka problēma ir deguna galā :)

Link to comment
Share on other sites

1) tāda problēma bija uz viena servera ar kuru man bija darīšana dažus mēnešus atpakaļ: NIX + PHP 5.1.x (pēc upgreida);

2) tāda problēma man ir uz mājas kastes: WinXP + Apache2

 

uzrādās visas kļūdas izņemot Fatal run-time errors, tb E_ERROR.

Skriptu vienkārši pārstāj interpretēt bez jebkādām pazīmēm par "nāves" iemeslu.

Link to comment
Share on other sites

×
×
  • Create New...