我正在使用 CentOS 7,我将网站从 php4 迁移到 php5,并且我在虚拟主机之间的 Apache 配置文件中有这样的内容:
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
AddDefaultCharset UTF--8
php_value session.gc_probability 1
php_value session.use_trans_sid 1
php_value PWD
我收到以下错误:
Jun 08 09:57:55 PHABCVAPACHE systemd[1]: Starting The Apache HTTP Server...
Jun 08 09:57:55 PHABCVAPACHE httpd[1401]: AH00526: Syntax error on line 24 of /etc/httpd/sites-enabled/example.com.conf:
Jun 08 09:57:55 PHABCVAPACHE httpd[1401]: php_value takes two arguments, PHP Value Modifier
Jun 08 09:57:55 PHABCVAPACHE systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jun 08 09:57:55 PHABCVAPACHE kill[1402]: kill: cannot find process ""
Jun 08 09:57:55 PHABCVAPACHE systemd[1]: httpd.service: control process exited, code=exited status=1
Jun 08 09:57:55 PHABCVAPACHE systemd[1]: Failed to start The Apache HTTP Server.
Jun 08 09:57:55 PHABCVAPACHE systemd[1]: Unit httpd.service entered failed state.
Jun 08 09:57:55 PHABCVAPACHE systemd[1]: httpd.service failed.
问题出在 php_value PWD 上,不幸的是我不知道如何更改它以使 apache 正常工作。如果我评论它,apache 正在运行,但登录表单不起作用。
有人可以帮助我吗?
答案1
这两行已经说明了一切:
Jun 08 09:57:55 PHABCVAPACHE httpd[1401]: AH00526: Syntax error on line 24 of /etc/httpd/sites-enabled/example.com.conf:
Jun 08 09:57:55 PHABCVAPACHE httpd[1401]: php_value takes two arguments, PHP Value Modifier
在 example.com.conf 的第 24 行中,Apache 期望 php_value 有两个参数。现在,如果您提供的配置是 example.com.conf,则您需要在该配置文件中修复此问题。
答案2
您需要删除行
php_value PWD
因为 apache 中没有该指令,然后以不同的方式保护您的网络服务器。
我不知道你需要什么,但你认为你想使用基本身份验证。为此,您需要以这种方式更改 .conf 文件中的目录部分:
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
并生成 .htpassword 文件
sudo htpasswd -c /etc/apache2/.htpasswd username