【问题标题】:http apache server doesn't handle php fileshttp apache 服务器不处理 php 文件
【发布时间】:2014-03-14 08:25:35
【问题描述】:

在我的centos中:

php -vworks 给出 5.4 版本

httpd 服务器正在运行和工作

AddType application/x-httpd-php .php

这行代码在httpd.conf中,为什么index.php文件没有被处理?

有没有我可以检查是否一切正常?

rpm -qa 的输出 | grep php:

php54-pdo-5.4.26-1.ius.el6.x86_64
php54-mbstring-5.4.26-1.ius.el6.x86_64
php54-common-5.4.26-1.ius.el6.x86_64
php54-mysql-5.4.26-1.ius.el6.x86_64
php54-ldap-5.4.26-1.ius.el6.x86_64
php54-gd-5.4.26-1.ius.el6.x86_64
php54-mcrypt-5.4.26-1.ius.el6.x86_64

在 sudo yum install php -y 之后我也收到此错误:

--> Finished Dependency Resolution
Error: Package: php-5.4.26-32.el6.art.x86_64 (atomic)
           Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: php-cli-5.4.26-32.el6.art.x86_64 (atomic)
           Requires: libcrypto.so.10(OPENSSL_1.0.1)(64bit)
Error: Package: php-5.4.26-32.el6.art.x86_64 (atomic)
           Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: php-5.4.26-32.el6.art.x86_64 (atomic)
           Requires: libcrypto.so.10(OPENSSL_1.0.1)(64bit)
Error: Package: php-cli-5.4.26-32.el6.art.x86_64 (atomic)
           Requires: libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
Error: Package: php-cli-5.4.26-32.el6.art.x86_64 (atomic)
           Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: php-cli-5.4.26-32.el6.art.x86_64 (atomic)
           Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: php-5.4.26-32.el6.art.x86_64 (atomic)
           Requires: libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

【问题讨论】:

    标签: php apache centos


    【解决方案1】:

    首先确保您已安装 PHP Apache 模块。

    ls -l /etc/httpd/conf.d/php.conf
    

    如果您没有该文件,那么您可能只安装了没有 php Apache httpd 模块的 php-cli(命令行界面)。安装运行命令:

    sudo yum install php -y
    

    然后重启你的 httpd 服务器:

    sudo service httpd restart
    

    要让 Apache httpd 处理 index.php 文件,您需要更新 DirectoryIndex 以处理 PHP 目录索引。

    在 Centos 上编辑文件:

    /etc/httpd/conf/httpd.conf
    

    搜索起始行:

    DirectoryIndex
    

    并将以下内容添加到以空格分隔的索引文件名列表中:

    index.php
    

    目录索引文件将按照它们定义的顺序被识别。

    您还需要使用以下命令重新启动 httpd 服务:

    sudo service httpd reload
    

    您也可以使用 apachectl 实用程序优雅地重新加载 httpd

    sudo apachectl graceful
    

    【讨论】:

    • 我按照你说的做了,重启了服务器,但是index.php还是没有处理,不知道是什么原因
    • 如果直接在URL中加入index.php来调用呢?
    • 是的,这就是我所做的,它在我的浏览器中为我提供了 php 代码的文本
    • 我已经修改了答案,确保安装了'php'模块,而不仅仅是'php-cli'命令行界面。
    • 在我的问题中添加了输出
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 2023-03-29
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多