Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблемы с путями
 
 автор: Eric   (12.03.2007 в 09:29)   письмо автору
 
 

Есть два инклюда:

<?  
@include("../sources/configure.php");  
@include(
"../mods/activeusers.php"); 
?>


<?  
@include("../sources/configure.php");  
@include(
URL."/mods/searches.php?action=search"); 
?>

Первый работает нормально, а второй (URL."/mods/searches.php?action=search"); не хочет вставляться. В php.ini стоит allow_url_fopen no value. Это из-за этого???
В httpd.conf и .htaccess пробовал ставить на On, но не помогло. Файл .htaccess ваще пропадает, а в httpd.conf ставлю php_value allow_url_fopen на On, тоже не помогает!!! Такое ощущение, что он ваще не воспринимает эти файлы:((
P.S. Доступа к php.ini не имею!

   
 
 автор: simsalabim   (12.03.2007 в 09:47)   письмо автору
 
   для: Eric   (12.03.2007 в 09:29)
 

не знаю.
з.ы. Плюсик за настойчивость. попробуй на другом форуме спросить, где темы создаются не с такой скоростью.

   
 
 автор: Trianon   (12.03.2007 в 09:57)   письмо автору
 
   для: Eric   (12.03.2007 в 09:29)
 

Без динамической генерации исходного текста Вам совсем не обойтись?
По моему, не дает - и правильно делает. Так программы не пишут.

   
 
 автор: Eric   (12.03.2007 в 10:02)   письмо автору
 
   для: Trianon   (12.03.2007 в 09:57)
 

Ты на что намекаешь то??? Не знаешь, так и напиши: - "Не знаю!". Какие на хрен программы??? Я кусок кода скопировал, это еще не весь скрипт.

   
 
 автор: Poison   (12.03.2007 в 10:10)   письмо автору
 
   для: Eric   (12.03.2007 в 10:02)
 

Инклудить с GET параметрами кажеться нельзя!

   
 
 автор: Eric   (12.03.2007 в 10:15)   письмо автору
 
   для: Poison   (12.03.2007 в 10:10)
 

Понимаешь, у меня этот же скрипт работает на агавовском серваке. Там эти инклюды работают отлично, а вот на моем районном не хотят. Мне бы узнать какой параметр ваще в php.ini нужно настроить, чтоб сис-админу сказать.

   
 
 автор: ZuArt   (12.03.2007 в 10:24)   письмо автору
 
   для: Eric   (12.03.2007 в 10:15)
 

Aliasss
php 5.2?
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;

; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On
allow_url_include = On

   
 
 автор: Eric   (12.03.2007 в 10:26)   письмо автору
 
   для: ZuArt   (12.03.2007 в 10:24)
 

К сожалению PHP Version у меня пока 4.1.2
А куда все это прописать то??? В php.ini????

   
 
 автор: ZuArt   (12.03.2007 в 10:29)   письмо автору
 
   для: Eric   (12.03.2007 в 10:26)
 

прописать в php.ini - попробуй, может и 4 подхватит =)

   
 
 автор: Eric   (12.03.2007 в 10:36)   письмо автору
 
   для: ZuArt   (12.03.2007 в 10:24)
 

Странно, а почему агавовский сервак все инклюдит??? Там именно так все и прописано:

include(URL."/mods/searches.php?action=search")

Ведь тут, в инклюде, если он в место URL подставит адрес, выйдет, как обычная ссылка???
Мне кажется все дело в: allow_url_fopen



А если все это прописать в php.ini, мож заработает?? Ведь на агавовском именно такие параметры и стоят:

allow_url_fopen = On
allow_url_include = On

   
 
 автор: ZuArt   (12.03.2007 в 10:43)   письмо автору
 
   для: Eric   (12.03.2007 в 10:36)
 

... fopen - это параметр РАЗРЕШЕНИЯ внешнего обращения функцией fopen
... include - соответственно обращение через include

=)

   
 
 автор: Eric   (12.03.2007 в 10:45)   письмо автору
 
   для: ZuArt   (12.03.2007 в 10:43)
 

А объясните пожалуйста поподробнее, на примере, чтобы я понял. Чет не врублюсь никак =))
И вот это тоже не пойму че значит: include_path .:/usr/share/pear???
Спасибо, что помогаете +)))

   
 
 автор: ZuArt   (12.03.2007 в 11:13)   письмо автору
 
   для: Eric   (12.03.2007 в 10:45)
 

этот параметр ВООБЩЕ не относится к скриптам - это путь, где лежат библиотеки/модули самого PHP-интерпретатора.

   
 
 автор: Eric   (12.03.2007 в 12:13)   письмо автору
 
   для: ZuArt   (12.03.2007 в 11:13)
 

Убрал значек @ в инклюде, он мне выписал:

Warning: Failed opening 'http://mp3.name.ru/mods/searches.php?action=search' for inclusion (include_path='.:/usr/share/pear') in /content/vhosts/mp3.name.ru/html/template/gaz.php on line 8

А это что значит?

   
 
 автор: Poison   (12.03.2007 в 12:19)   письмо автору
 
   для: Eric   (12.03.2007 в 12:13)
 

Это означает что он неможет открыть:)
Попробуй инклудить без GET
тоесть так: http://mp3.name.ru/mods/searches.php

   
 
 автор: Eric   (12.03.2007 в 12:26)   письмо автору
 
   для: Poison   (12.03.2007 в 12:19)
 

Так смысл скрипта пропадет и к тому же, он выдаст туже ошибку, даже если в адресную строку броузера кинуть. А как сделать так, чтобы метод get работал? Или у меня версия php старая??? И кстати, что означает значек @ в инклюде???

   
 
 автор: Poison   (12.03.2007 в 13:28)   письмо автору
 
   для: Eric   (12.03.2007 в 12:26)
 

@ - глушит ошибки
читай пост за 12.03.2007 в 10:28

   
 
 автор: Eric   (12.03.2007 в 13:39)   письмо автору
 
   для: Poison   (12.03.2007 в 13:28)
 

Это все не помогает, есть еще какие-нить способы???
Мож в php.ini че настроить надо, чтобы он гетовские ссылки открывал???

   
 
 автор: ZuArt   (12.03.2007 в 10:13)   письмо автору
 
   для: Eric   (12.03.2007 в 10:02)
 

Все достаточно просто...

в первом блоке обращение к файлам идет по ФИЗИЧЕСКОМУ пути в структуре каталогов сервера...

во втором - второй инклюд использует URL (если я правильно понял смысл подставленной переменной)... а ДАЛЕКО не все сервера поддерживают инклюд через URL.

1) при таком обращении к скрипту он будет выполнен и подгрузится результат его выполнения (будет получено то же самое, что и браузер, если высвать из под него адрес)

2) лучше написать свою небольшую функцию-обертку, которая определяет:

- if путь физический, то инклюдить
- else if путь - URL
{
 - if инключдится, все ок
 - else if попробовать получить данные через сокет (как - искать по форуму - тем ДОФИГА)
 - else значит ошибочка вышла.
}

   
 
 автор: Eric   (12.03.2007 в 10:21)   письмо автору
 
   для: ZuArt   (12.03.2007 в 10:13)
 

URL - это как-бы переменная, которая в файле configure.php выглядет:

define("URL",'http://www.friendofgod.com/test');//define("DB_PASS", "insert your database details here");

Она просто адрес подставляет!
Но даже если прописать вот так: @include("../mods/searches.php?action=search"); , то все равно он не инклюдит скрипт! Пробовал вставить в окно адреса эксплорера (http://name.ru/mods/searches.php?action=search) - все работает!

   
 
 автор: ZuArt   (12.03.2007 в 10:28)   письмо автору
 
   для: Eric   (12.03.2007 в 10:21)
 

include("../mods/searches.php?action=search") - так и не будет работать, т.к. файла "searches.php?action=search" - НЕТ, а именно его будет искать интерпретарор...

можно попробовать обойтись вот таким способом

if(isset($_GET["action"]))
 $TMP_GET["action"] = $_GET["action"];
$_GET["action"] = "search";
include("../mods/searches.php")
if(isset($TMP_GET["action"]))
 $_GET["action"] = $TMP_GET["action"]
else
 unset($_GET["action"]);

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования