Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Apache предлагает скачать файл *.php


Автор: Nickname 24.6.2008, 22:55
Помогите разобраться со следующей проблемой
Установил у себя на машине Apache_mysql_php
Сервер вроде запустился, но когда пытешься открыть в браузере php-й файл, то он предлагает его скачать
Все делал по статье [http://www.opennet.ru/base/net/lamp_slackware.txt.html]

в access_log пишет
127.0.0.1 - - [25/Jun/2008:00:40:54 +0400] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.2) Gecko/20060911 SUSE/2.0.0.2-2.13 Firefox/2.0.0.2"

Автор: wertik 25.6.2008, 10:09
Цитата(Nickname @ 24.6.2008,  22:55)
Помогите разобраться со следующей проблемой
Установил у себя на машине Apache_mysql_php
Сервер вроде запустился, но когда пытешься открыть в браузере php-й файл, то он предлагает его скачать
Все делал по статье [http://www.opennet.ru/base/net/lamp_slackware.txt.html]

в access_log пишет
127.0.0.1 - - [25/Jun/2008:00:40:54 +0400] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.2) Gecko/20060911 SUSE/2.0.0.2-2.13 Firefox/2.0.0.2"

конфиг где?

Автор: Nickname 25.6.2008, 22:14
Вот пожалуйста httpd.conf
Код

ServerRoot "/usr/local/apache"
Listen 80
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User daemon
Group daemon
</IfModule>
</IfModule>
ServerAdmin you@example.com
ServerName localhost:80
DocumentRoot "/usr/local/apache/htdocs"
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>
<Directory "/usr/local/apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" common
</IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
</IfModule>
<IfModule cgid_module>
</IfModule>
<Directory "/usr/local/apache/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
DefaultType text/plain
<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
NameVirtualHost www.test
<VirtualHost www.test>
ServerName www.test
ServerAlias test
DocumentRoot /home/www.test/public_html
CustomLog /home/www.test/logs/access_log combined
ErrorLog /home/www.test/logs/error_log
</VirtualHost>


Автор: wertik 25.6.2008, 22:18
Замени     DirectoryIndex index.php index.html
на     DirectoryIndex index.php
И проверь.
Если не получиться пиши,
скажу что еще нужно будет посмотреть.

Автор: marykone 26.6.2008, 08:35
Цитата(Nickname @  25.6.2008,  22:14 Найти цитируемый пост)
DocumentRoot /home/www.test/public_html


вот сюда положи index.php
с содержимым 
Цитата

<?
phpinfo(); 
/php>

помоему так 


Цитата(Nickname @  25.6.2008,  22:14 Найти цитируемый пост)
 TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php

вот это выложи из <IfModule mime_module>
нижне ни в какую директорию не засовывай
Цитата(wertik @  25.6.2008,  22:18 Найти цитируемый пост)
Замени     DirectoryIndex index.php index.html
на     DirectoryIndex index.php

заменять не надо ! тоже вынеси из условия а потом будешь подтачивать ! с условиями 

Автор: Nickname 26.6.2008, 12:57
Цитата(wertik @  25.6.2008,  22:18 Найти цитируемый пост)
Замени     DirectoryIndex index.php index.html
на     DirectoryIndex index.php
И проверь.

Не помогло


Цитата(marykone @  26.6.2008,  08:35 Найти цитируемый пост)
TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php
вот это выложи из <IfModule mime_module>
нижне ни в какую директорию не засовывай

Не помогло

Причем, что странно обычные html-е страницы открываются нормально, и когда предлагает скачать php пишет его тип правильно 
Цитата

Open 'http://www.test/'?
Type: application/x-httpd-php


Добавлено @ 12:59
Цитата(marykone @  26.6.2008,  08:35 Найти цитируемый пост)

<?
phpinfo(); 
/php>

если я не ошибаюсь то должно быть так
Цитата

<?php
phpinfo();
?>

А можно ли как-то проверить, что пхп встал нормально?

Автор: marykone 26.6.2008, 14:05
Цитата(Nickname @  26.6.2008,  12:57 Найти цитируемый пост)
А можно ли как-то проверить, что пхп встал нормально?


ну вот с помощь скрипта и проверяется! 
логи посомтреть у php .

Цитата

Open 'http://www.test/'?
Type: application/x-httpd-php


он у вас как то опубликован наружу ? 

кстатии php.ini покажите ! 

и в /var/log/messages посомтрите на ругательства.

Автор: Nickname 26.6.2008, 17:52
Цитата(marykone @  26.6.2008,  14:05 Найти цитируемый пост)
он у вас как то опубликован наружу ? 

Вы про что? Про сайт www.test? Да нет сугубо доступ через браузер на той же машине

Цитата(marykone @  26.6.2008,  14:05 Найти цитируемый пост)
и в /var/log/messages посомтрите на ругательства. 

Ничего подозрительного - вот дамп с момента старта
Цитата

Jun 26 18:35:35 localhost gconfd (root-4017): starting (version 2.12.1), pid 4017 user 'root'
Jun 26 18:35:35 localhost gconfd (root-4017): Resolved address "xml:readonly:/etc/opt/gnome/gconf/gconf.xml.mandatory" to a read-only configuration source at position 0
Jun 26 18:35:35 localhost gconfd (root-4017): Resolved address "xml:readwrite:/root/.gconf" to a writable configuration source at position 1
Jun 26 18:35:35 localhost gconfd (root-4017): Resolved address "xml:readonly:/etc/opt/gnome/gconf/gconf.xml.defaults" to a read-only configuration source at position 2
Jun 26 18:35:37 localhost gconfd (root-4017): Resolved address "xml:readwrite:/root/.gconf" to a writable configuration source at position 0
Jun 26 18:36:04 localhost zmd: Daemon (WARN): Not starting remote web server
Jun 26 18:38:48 localhost kernel: martian destination 0.0.0.0 from 10.160.160.116, dev eth0

а вот php.ini (все комментарии убрал, кроме одной строчки, где инклуд, может там ошиба и есть), кстати, а где правильно должен распологаться php.ini? у меня в 
/usr/local/lib
Цитата

[PHP]

engine = On
zend.ze1_compatibility_mode = Off
short_open_tag = On


asp_tags = Off


precision    =  12
y2k_compliance = On
output_buffering = Off
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
serialize_precision = 100
allow_call_time_pass_reference = On
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
disable_classes =
expose_php = On
max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60    ; Maximum amount of time each script may spend parsing request data

memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)
error_reporting  =  E_ALL & ~E_NOTICE
display_errors = On
display_startup_errors = Off
log_errors = Off
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
variables_order = "EGPCS"
register_globals = Off
register_long_arrays = On
register_argc_argv = On
auto_globals_jit = On
post_max_size = 8M
magic_quotes_gpc = On
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes" ; Есть подозрение на эту строчку
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
doc_root =
user_dir =
extension_dir = "./"
enable_dl = On
file_uploads = On
upload_max_filesize = 2M
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[Date]
[filter]

[iconv]
[sqlite]
[xmlrpc]
[Pcre]
[Syslog]
define_syslog_variables  = Off
[mail function]
SMTP = localhost
smtp_port = 25
[SQL]
sql.safe_mode = Off

[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1

odbc.defaultlrl = 4096
odbc.defaultbinmode = 1

[MySQL]
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =

mysql.default_socket =
mysql.default_host =


mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off

....
[Session]
session.save_handler = files
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly = 
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor     = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 1
session.bug_compat_warn = 1

session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 4
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="



Автор: Borland_Delphi_6 26.6.2008, 19:51
Nickname, у тебя php к апачу не подключен. Попробуй в конец добавить:

LoadModule php5_module "/php5apache2_2.dll"

Только не забудь правильный путь до php5apache2_2.dll прописать. Это при условии, что у тебя Apache 2.2. и PHP 5.2. В других версиях имя файла может быть другое. Но вообще говоря, про это подробно в доке к php написано, не лишним было бы прочитать...

Кстати, конфиг апача странный какой-то. На мой вообще не похож, правда, у меня виндовый апач, но не думаю, что должны быть серьезные различия. ИМХО, это конфиг у тебя не дефолтный. В нем даже никакие модули не загружаются.

Вопрос установки PHP на сервер на форуме обсуждался неоднократно, да и в инете информации - будь здоров сколько. 

И на будущее, для таких вопросов есть более подходящий раздел: http://forum.vingrad.ru/forum/web-server-and-service-administration.html.

Удачи.

Автор: Nickname 26.6.2008, 20:52
Цитата(Borland_Delphi_6 @  26.6.2008,  19:51 Найти цитируемый пост)
Nickname, у тебя php к апачу не подключен. Попробуй в конец добавить:

LoadModule php5_module "/php5apache2_2.dll"

да действительно прочитал что нужно добавить две строчки еще [http://www.php.net/manual/en/install.unix.php]
Цитата

LoadModule php5_module libexec/libphp5.so
AddModule mod_php5.c

только не могу найти, где у меня лежит libphp5.so - даже полный поиск не помагает
а mod_php5.c найден аж в трех папках, которые в архиве с пхп шли - причем разные

Подскажите, как удалить установленный апач, если установка шла через configure->make->make install

Автор: marykone 27.6.2008, 08:11
Цитата(Borland_Delphi_6 @  26.6.2008,  19:51 Найти цитируемый пост)
Nickname, у тебя php к апачу не подключен. Попробуй в конец добавить:

блин а я не усмотрел 

Цитата(Nickname @  26.6.2008,  20:52 Найти цитируемый пост)
только не могу найти, где у меня лежит libphp5.so - даже полный поиск не помагает
а mod_php5.c найден аж в трех папках, которые в архиве с пхп шли - причем разные


посмотри /usr/local/libexec
/usr/libexec

а еще locate libphp5.so

Автор: Nickname 27.6.2008, 17:59
Фу - разобрался
надо было конфигурировать с ключами 
./configure --enable-so - для апаче и
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql - для пхп

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)