sayfanın başına
ini_set('always_populate_raw_post_data', true); yazmayı deneyin. bu
$HTTP_RAW_POST_DATA yı oluşturuyor olabilir.2009/3/27 Hasan Sertçelik <[email protected]> > > Gamze Tepe yazmış: > > Denememistim. > > DOMDocument::loadXML() expects parameter 1 to be string hatasini veriyor. > > "print_r($_POST);" kodunu ; çıktıyı inceleyip verinin gelip gelmediğini görmeniz için verdim. Bu şekilde zaten hata verecektir. > $HTTP_RAW_POST_DATA; yazan yeri $_POST olarak değiştirdiğinizde array olarak post verisine ulaşırsınız ancak sizin scriptiniz büyük ihtimalle yine çalişmayacaktır. > Size Post içindeki datalar gerekli sanırım. > > implode($_POST); veya > implode(",",$_POST); ile datalari stringe cevirebilirsiniz ama bununda işinize yarayacagından emin değilim kodunuzu inceleyip ona göre çözüm bulmak gerekebilir. > Kolay gelsin. > > Hasan Sertçelik. > > > ________________________________ > Von: [email protected] [mailto: [email protected]] Im Auftrag von Hasan Sertçelik > Gesendet: Freitag, 27. März 2009 13:11 > An: Özgür yazılımlarla çeşitli dillerde yazılım geliştirme > Betreff: [Linux-programlama] Re: $HTTP_RAW_POST_DATA > > $HTTP_RAW_POST_DATA işlenmemiş post verisini tutar. > print_r($_POST) ile veriye ulaşmayı denedinizmi. > > > > Gamze Tepe yazmış: > > Merhaba, > > Daha önce PHP 4.3.11 üzerinde calisan bir uygulamayi PHP 5.1.2 yüklü olan bir makinaya almak zorunda kaldik. Su an bazi degiskenler calismiyor. > > Bunlardan ilki > > $HTTP_RAW_POST_DATA; > > DOMXML'in de PHP 5 ile calismadigini gördüm. Bunun icin ara bir php scripti buldum. Daha sonra baska bir hata mesaji ile karsilastim. > > DOMDocument::loadXML() [<a href='function.loadXML'>function.loadXML</a>]: Empty string supplied as input in /sites/incentro/ips/htdocs/iPS/domxml-php4-to-php5.php</b> on line <b>72</b>< > > > domxml-php4-to-php5.php dosyasi benim internette buldugum ara kod. > > Bu hata mesajini su scriptten aliyorum: > > <?php > require_once("common.php"); > require_once("common/request_xml.php"); > > function get_session(&$error) > { > global $config, $log; > global $HTTP_RAW_POST_DATA; > > > $log->write(LOG_SEVERITY_INFO, "Received 'get_session' request from '{$_SERVER["REMOTE_ADDR"]}:{$_SERVER["REMOTE_PORT"]}':" > . str_replace("\n", "\n ", "\n$HTTP_RAW_POST_DATA")); > > header("Content-type: text/xml"); > > $request = new RequestXML(); > > if ($request->create($HTTP_RAW_POST_DATA, $error) === false) > return (false); > . > . > . > ...... > > ?> > > request.php > <?php > > function create($xml,&$error) > { > if (($dom = domxml_open_mem($xml)) === false) { > $error = new Error(E_REQUEST_PARSE_XML); > return (false); > } > ........ > ?> > > > Hatanin sebebi $HTTP_RAW_POST_DATA degerinin bos olmasi. Bu degeri nasil elde edebilirim? > php.ini dosyasinda > > always_populate_raw_post_data degiskenini On yapip apache'yi restart ettim ama calismadi. > > $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input"); > > denedim olmadi. > > Bir fikri olan var mi? > > ________________________________ > _______________________________________________ > Linux-programlama mailing list > [email protected] > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > > > ________________________________ > _______________________________________________ > Linux-programlama mailing list > [email protected] > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > > > _______________________________________________ > Linux-programlama mailing list > [email protected] > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > -- Elvin Şiriyev http://siriyev.net
_______________________________________________ Linux-programlama mailing list [email protected] http://liste.linux.org.tr/mailman/listinfo/linux-programlama
