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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Почему может не работать $_FILES при upload файлов???

Сообщения:  [1-10]    [11-20]  [21-21] 

 
 автор: glsv (Дизайнер)   (19.07.2004 в 09:18)   письмо автору
 
   для: andry   (19.07.2004 в 08:47)
 

PHP на Apache можно установить 2 способами - как модуль и как внешнюю программу (как CGI-скрипт)

PHP как модуль - это по сути библиотека Apache.
Как CGI - это когда php-скрипты выполняются как внешнее приложение.

Основное отличие - когда PHP установлен как CGI, то каждый раз для выполнения скрипта запускается новый процесс со своими правами.
Если же PHP установлен как модуль, то он всегда висит в памяти и работает с права назначенными самому серверу.

Установливать PHP как модуль нужно если необходимо работать с заголовками (headers) и функциями авторизации. А также если вы хотите управлять некоторыми настройками PHP из файлов .htaccess. В противном случае для этого нужно всегда лезть в PHP.INI.

Определить как установлен - просто.
Посморите httpd.conf. Вот этот блок кода устанавливает PHP, как CGI

AddType application/x-httpd-php phtml php
<Directory "c:/php">
  Options ExecCGI
</Directory>
ScriptAlias "/__php_dir__/" "c:/php/"
Action application/x-httpd-php "/__php_dir__/php.exe"


А вот - как модуль.

AddType application/x-httpd-php phtml php php3
LoadModule php5_module modules/php5apache2.dll 

   
 
 автор: andry   (19.07.2004 в 08:47)   письмо автору
 
   для: cheops   (15.07.2004 в 17:02)
 

Спасибо, я нашла Apache 2.0.44, попробую его поставить.
Наши ребята мне дали архивчик (выдернутый, естественно, где-то в инете), где все было: и PHP, и MySQL, и Apache, и все это под WINDу. И еще, я только начинаю осваивать web-программирование, и мне непонятна фраза PHP установлен как модуль или как внешний CGI-скрипт , как это можно узнать???

   
 
 автор: cheops   (15.07.2004 в 17:02)   письмо автору
 
   для: andry   (15.07.2004 в 15:43)
 

Хм... Всё чисто... Сходная ситуация была у нашего Дизайнера - тоже не работал upload под Windows на Apache 1.3.x, он тогда все конфигурационные файлы перерыл - помогла только установка более новой версии Apache и PHP. Нет возможности поставить их более новые версии? Тем более как показывает практика Apache 2.0 менее капризен…

PS Кстати, PHP установлен как модуль или как внешний CGI-скрипт? Если он установлен как внешний CGI-скрипт вы можете прислать нам конфигурационные файлы Apache (http.conf) и PHP (php.ini) и мы попробуем смоделировать ситуацию (Только вряд ли я уже смогу достать PHP 4.0.3 и Apache 1.3.29 :().
PPS Кстати, в логах Apache (logs/*.log) ничего интересного нет, когда происходит обработка запроса POST? Но у меня уже подозрение, что там тоже код возврата 200 (успешная обработка). Я один раз такое видел у себя в Университете: Apache под Windows прекрасно работал в качестве локального сервера и совершенно не был виден из сети, при всё при том, в логах рапортовал, что все внешние запросы обработаны (код 200).

   
 
 автор: andry   (15.07.2004 в 15:43)   письмо автору
 
   для: cheops   (15.07.2004 в 13:59)
 

Сервер Apache Web Server Version 1.3.29, порт 80.

   
 
 автор: andry   (15.07.2004 в 15:39)   письмо автору
 
   для: cheops   (15.07.2004 в 14:26)
 

В php.ini:
variables_order = "GPCS"
post_max_size = 8M
upload_max_filesize = 2M
Ни FireWall, ничто подобное не стоит.

   
 
 автор: cheops   (15.07.2004 в 14:26)   письмо автору
 
   для: cheops   (15.07.2004 в 13:53)
 

Хотя вот ещё что может быть, посмотрите в php.ini значение директивы
 variables_order = "EGPCS" 

Ну и на всякий случай post_max_size и upload_max_filesize, хотя в этих директивах всё нормально, иначе вообще ничего не работало бы...

   
 
 автор: cheops   (15.07.2004 в 13:59)   письмо автору
 
   для: andry   (15.07.2004 в 13:14)
 

Меня смущает 777... Windows разве поддерживает систему безопасности UNIX, в любом случае лучше установить 644, или ещё ниже, так как исполняться во временных папках нечему и не зачем...
Под Windows мы имеем дело только с локальными серверами и как следствие проблемам безопасной работы Apache внимания не уделяли...
PS А версия сервера Apache какая и на каком он порту висит?
PPS Apache в UNIX обычно выполняется с минимальными правами, чтобы в случае переполнения буффера, получив, права apache злоумышленник не смог ничего поделать. Но что бы apache работал у него должно быть право чтения и записи в его рабочих и верменных директориях.

   
 
 автор: cheops   (15.07.2004 в 13:53)   письмо автору
 
   для: andry   (15.07.2004 в 13:22)
 

Понятно, значит сервер отфутболивает где-то файл и PHP тут скорее всего не причём - в логах Apacha что-нибудь интересное есть? FireWall никакой не применяется?

   
 
 автор: andry   (15.07.2004 в 13:22)   письмо автору
 
   для: cheops   (15.07.2004 в 10:24)
 

<?echo "Путь к файлу на сервере следующий: ".$_FILE['foto']['tmp_name']."<br>";
echo 
"Путь к файлу на клиентской машине следующий: ".$_FILE['foto']['name']."<br>";
echo 
"Размер файла в байтах следующий: ".$_FILE['foto']['size']."<br>";
echo 
"Тип файла следующий: ".$_FILE['foto']['size']."<br>";?>

Этот код выдает только сожержание ковычек (например, Путь к файлу на сервере следующий: ), а дальше пустота.....

   
 
 автор: andry   (15.07.2004 в 13:14)   письмо автору
 
   для: cheops   (15.07.2004 в 10:36)
 

Нет, сейчас речь идет о сервере Apache, работающим под управлением Windows. Так правильно я указала права или нет??? И что значит установить право записи во временную папку для сервера Apache, который вообще никаких прав на сервере не имеет...

   

Сообщения:  [1-10]    [11-20]  [21-21] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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