Проблема с PHP

Вопросы, на которые не получается найти ответ в Arch wiki или на форуме
medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

Доброго времени суток. Вчера установил связку для веб-разработки. Все отработало в штатном режиме. Затем создал виртуальный хост на другом диске. Т.е. не в папке по умолчанию. Все тоже отработало нормально. сегодня запустил Систему, но доступа к этому виртуальному хосту у меня нет. Поправил права доступа - файл html открылся, но файл php не открывается ни в какую. Пишет:
Страница недоступна
Сайт testsite пока не может обработать этот запрос.
HTTP ERROR 500
Я понимаю, что видимо где-то надо прописать директиву или инструкцию, или дать разрешение, но не знаю где. Помогите пожалуйста. Спасибо.
indeviral
Аватара пользователя
Сообщения: 199
Зарегистрирован: 15.08.2022

#

Доброго. Если работает html, но не работает php.
То дело в настройках доступа/запуска php-fpm, uwsgi или аналогов.
В целом сильно мало информации, для корректного ответа.
Начните с того что значит "связка для веб-разработки"? Что написано в конфигах и тд...

Ошибки в тексте-неповторимый стиль автора©

medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

indeviral: Доброго. Если работает html, но не работает php.
То дело в настройках доступа/запуска php-fpm, uwsgi или аналогов.
В целом сильно мало информации, для корректного ответа.
Начните с того что значит "связка для веб-разработки"? Что написано в конфигах и тд...
Не вопрос. Сейчас все выложу.
medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

Связка - Apache + MariaDB + PHP + phpMyadmin
конфиг /etc/httpd/conf/httpd.conf
Cкрытый текст
ServerRoot "/etc/httpd"
Listen 80
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
<IfModule !mpm_prefork_module>
#LoadModule cgid_module modules/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
#LoadModule cgi_module modules/mod_cgi.so
</IfModule>
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
<IfModule unixd_module>
User http
Group http
</IfModule>
ServerAdmin you@example.com
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/srv/http"
<Directory "/srv/http">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
<Files ".ht*">
Require all denied
</Files>
ErrorLog "/var/log/httpd/error_log"
LogLevel warn
<IfModule log_config_module>
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
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>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here. Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
CustomLog "/var/log/httpd/access_log" common
#
# If you prefer a logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
#CustomLog "/var/log/httpd/access_log" combined
</IfModule>
<IfModule alias_module>
#
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://www.example.com/bar
#
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as applications and
# run by the server when requested rather than as documents sent to the
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
#
ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/"
</IfModule>
<IfModule cgid_module>
#
# ScriptSock: On threaded servers, designate the path to the UNIX
# socket used to communicate with the CGI daemon of mod_cgid.
#
#Scriptsock cgisock
</IfModule>
<Directory "/srv/http/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule headers_module>
#
# Avoid passing HTTP_PROXY environment to CGI's on this or any proxied
# backend servers which have lingering "httpoxy" defects.
# 'Proxy' request header is undefined by the IETF, not listed by IANA
#
RequestHeader unset Proxy early
</IfModule>
<IfModule mime_module>
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig conf/mime.types
#
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz
#
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
#AddHandler cgi-script .cgi
# For type maps (negotiated resources):
#AddHandler type-map var
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
</IfModule>
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-multilang-errordoc.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-languages.conf
Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-default.conf
<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
IncludeOptional conf/sites-enabled/*.conf
IncludeOptional conf/mods-enabled/*.conf
ServerName localhost
Последний раз редактировалось medusa0011 30.07.2024 11:11, всего редактировалось 1 раз.
medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

конфиг php.ini
Cкрытый текст
[PHP]
engine = On
short_open_tag = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = -1
open_basedir = /srv/http/:/etc/webapps/:/usr/share/webapps/:/tmp/
disable_functions =
disable_classes =
zend.enable_gc = On
zend.exception_ignore_args = On
zend.exception_string_param_max_len = 0
expose_php = On
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
display_startup_errors = Off
log_errors = On
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
default_charset = "UTF-8"
doc_root =
user_dir =
extension_dir = "/usr/lib/php/modules/"
enable_dl = Off
file_uploads = On
upload_max_filesize = 20M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
extension=bz2
extension=curl
extension=iconv
extension=mysqli
extension=pdo_mysql
extension=zip
[CLI Server]
cli_server.color = On
[Date]
[filter]
[iconv]
[imap]
[intl]
[sqlite3]
[Pcre]
[Pdo]
[Pdo_mysql]
pdo_mysql.default_socket=
[Phar]
[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = Off
mail.mixed_lf_and_crlf = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off
[OCI8]
[PostgreSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[bcmath]
bcmath.scale = 0
[browscap]
[Session]
session.save_handler = files
session.save_path = "/tmp"
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.cookie_samesite =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form="
session.sid_bits_per_character = 5
[Assertion]
zend.assertions = -1
[COM]
[mbstring]
[gd]
[exif]
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]
[ldap]
ldap.max_links = -1
[dba]
[opcache]
[curl]
[openssl]
[ffi]
Последний раз редактировалось medusa0011 30.07.2024 11:12, всего редактировалось 1 раз.
medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

[УДАЛЕНО]
Последний раз редактировалось medusa0011 30.07.2024 11:15, всего редактировалось 1 раз.
medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

конфиг виртуального хоста
Cкрытый текст
<VirtualHost *:80>
DocumentRoot "/run/media/medusa_l/ARCH_FILES/public_html/testsite"
ServerName testsite
ServerAdmin you@example.com
ErrorLog "/run/media/medusa_l/ARCH_FILES/public_html/testsite/error_log"
TransferLog "/run/media/medusa_l/ARCH_FILES/public_html/testsite/access_log"

<Directory />
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order deny,allow
Allow from all
Require all granted
</Directory>

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"

<Directory "/usr/share/webapps/phpMyAdmin">
DirectoryIndex index.html index.php
AllowOverride All
Options FollowSymlinks
Require all granted
</Directory>

</VirtualHost>
indeviral
Аватара пользователя
Сообщения: 199
Зарегистрирован: 15.08.2022

#

medusa0011: ErrorLog "/run/media/medusa_l/ARCH_FILES/public_html/testsite/error_log"
TransferLog "/run/media/medusa_l/ARCH_FILES/public_html/testsite/access_log"
Специалист по apache из меня никакой... Но может для начала логи посмотреть? И запускать какой-нибудь index.php с минимальным набором кода там:
<?php phpinfo( ); ?>

Ошибки в тексте-неповторимый стиль автора©

ALiEN
Аватара пользователя
Сообщения: 133
Зарегистрирован: 23.08.2022

#

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

Например так:
grep -vE '^$|^#' /etc/httpd/conf/httpd.conf
grep -vE '^$|^;' /etc/php/php.ini

🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

ALiEN: medusa0011, когда выкладываете конфиги, удаляйте пожалуйста, закомментированные строки.
Смотреть кучу ненужной информации никто не будет.

Например так:
grep -vE '^$|^#' /etc/httpd/conf/httpd.conf
grep -vE '^$|^;' /etc/php/php.ini
Спасибо за рекомендацию. Учту на будущее. И сейчас перезалью.
medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

indeviral: Специалист по apache из меня никакой... Но может для начала логи посмотреть?
В логах Apache ссылается на файл .htaccess, которого у меня нет.((
testsite-error_log
[Tue Jul 30 11:38:28.632589 2024] [core:crit] [pid 3071:tid 3071] (13)Permission denied: [client 127.0.0.1:48652] AH00529: /run/media/medusa_l/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/run/media/medusa_l/' is executable
[Tue Jul 30 11:38:30.374574 2024] [core:crit] [pid 3071:tid 3071] (13)Permission denied: [client 127.0.0.1:48652] AH00529: /run/media/medusa_l/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/run/media/medusa_l/' is executable
[Tue Jul 30 11:38:30.516135 2024] [core:crit] [pid 3071:tid 3071] (13)Permission denied: [client 127.0.0.1:48652] AH00529: /run/media/medusa_l/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/run/media/medusa_l/' is executable, referer: http://testsite/
medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

Тут вот какая штука интересная - я перешел на Arch с Mint. И там. когда разворачивал сервер выставлял права доступа такие:
sudo chown medusa:www-data -R /media/medusa/LM_FILES/public_html/NAME
sudo chmod -R 777 /media/medusa/LM_FILES/public_html/NAME
Но дело в том, что группа www-data создавалась автоматом при установке Apache. В Arch я вижу группу http, но вот чему она соответствует гугление мне не дало. Спасибо.
ALiEN
Аватара пользователя
Сообщения: 133
Зарегистрирован: 23.08.2022

#

medusa0011: я вижу группу http, но вот чему она соответствует гугление мне не дало
в httpd.conf:
medusa0011: User http
Group http

🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

ALiEN:в httpd.conf:
Хорошо поковыряю сюда . Пока на Arch слабо ориентируюсь. Спасибо.
indeviral
Аватара пользователя
Сообщения: 199
Зарегистрирован: 15.08.2022

#

medusa0011: Хорошо поковыряю сюда .
Не нужно ничего ковырять. У вас и так всё корректно прописано.
Если дело в правах то:
# chown http:http -R /media/medusa/LM_FILES/public_html/
# find /media/medusa/LM_FILES/public_html/ -type f -exec chmod 664 {} \;
# find /media/medusa/LM_FILES/public_html/ -type d -exec chmod 775 {} \;

Ошибки в тексте-неповторимый стиль автора©

medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

indeviral: Не нужно ничего ковырять. У вас и так всё корректно прописано.
Сделал, как вы сказали, но результат пока такой-же:
Страница недоступна
Сайт testsite пока не может обработать этот запрос.
HTTP ERROR 500
В любом случае спасибо. Не могу понять, что он хочет.(((
ALiEN
Аватара пользователя
Сообщения: 133
Зарегистрирован: 23.08.2022

#

А в логах то же самое?

🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

ALiEN:А в логах то же самое?
Извините, что так долго не отвечал - был в отъезде. Вот логи:
testsite-access_log
127.0.0.1 - - [07/Aug/2024:11:03:18 +0300] "GET / HTTP/1.1" 403 1162
127.0.0.1 - - [07/Aug/2024:11:03:24 +0300] "GET / HTTP/1.1" 403 1162
127.0.0.1 - - [07/Aug/2024:11:03:24 +0300] "GET /favicon.ico HTTP/1.1" 403 1150
testsite-error_log
[Wed Aug 07 11:03:18.270342 2024] [core:crit] [pid 3388:tid 3388] (13)Permission denied: [client 127.0.0.1:46846] AH00529: /run/media/medusa_l/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/run/media/medusa_l/' is executable
[Wed Aug 07 11:03:24.562259 2024] [core:crit] [pid 3389:tid 3389] (13)Permission denied: [client 127.0.0.1:34964] AH00529: /run/media/medusa_l/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/run/media/medusa_l/' is executable
[Wed Aug 07 11:03:24.722262 2024] [core:crit] [pid 3389:tid 3389] (13)Permission denied: [client 127.0.0.1:34964] AH00529: /run/media/medusa_l/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/run/media/medusa_l/' is executable, referer: http://testsite/
Вывод в браузере
Доступ запрещён!
У Вас нет прав доступа к этой директории. Отсутствует индексный файл, или директория недоступна для чтения.

Если Вы считаете, что это ошибка сервера, пожалуйста, сообщите об этом веб-мастеру.

Error 403
testsite
Apache/2.4.62 (Unix) PHP/8.3.9
Права доступа к директориям [/run/media/medusa_l/ARCH_FILES/public_html/testsite]
/run................................... drwxr-xr-x  31 root root
/media.............................. drwxr-xr-x  3 root  root
/medusa_l........................ drwxr-x---+ 3 root  root
/ARCH_FILES.................... drwxrwxrwx 9 medusa_l root
/public_html.................... drwxrwxr-x 3 http  http 
/testsite............................ drwxrwxrwx 2 http http
indeviral
Аватара пользователя
Сообщения: 199
Зарегистрирован: 15.08.2022

#

# chmod 755 /run/media/medusa_l

Ошибки в тексте-неповторимый стиль автора©

medusa0011
Сообщения: 29
Зарегистрирован: 25.06.2024

#

Сделал, как вы сказали - http://testsite открылся в браузере, но проверочный файл info.php с простейшим кодом отрывать не хочет все равно:
Страница недоступна
Сайт testsite пока не может обработать этот запрос.
HTTP ERROR 500
Ответить