gpt4 book ai didi

php - Apache 下载 php 文件而不是处理它们(在 php 7 升级后)

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:11 25 4
gpt4 key购买 nike

我已经安装了 CentOS 7.2、Apache 2.4.6,并且在上面运行了 php 5.4。现在我想将我的 PHP 版本升级到 7,因此我按照本文中描述的步骤进行操作:

How To Upgrade to PHP 7 on CentOS 7

curl 'https://setup.ius.io/' -o setup-ius.sh
sudo bash setup-ius.sh
sudo yum remove php-cli mod_php php-common
sudo yum install mod_php70u php70u-cli php70u-mysqlnd
sudo apachectl restart

它安装了 php 7,我可以用它来执行 php 代码。 php -v给我:

PHP 7.0.9 (cli) (built: Aug 16 2016 10:01:52) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

当我使用 <php phpinfo(); ?> 访问一个 php 文件时通过 apache,它会要求我下载文件。

在我的 /etc/httpd/conf.modules.d我有以下内容:

<IfModule prefork.c>
LoadModule php7_module modules/libphp7.so
</IfModule>
<IfModule !prefork.c>
LoadModule php7_module modules/libphp7-zts.so
</IfModule>

我在 httpd.conf 中的虚拟主机都有(并且在旧的 php5.4 情况下),它们是由我的 Virtualmin 设置自动创建的:

AddType application/x-httpd-php .php
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
FCGIWrapper /home/myvhost/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/myvhost/fcgi-bin/php5.fcgi .php5

/home/myvhost/fcgi-bin/php5.fcgi的内容如下:

#!/bin/bash
PHPRC=$PWD/../etc/php5
export PHPRC
umask 022
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=99999
export PHP_FCGI_MAX_REQUESTS
SCRIPT_FILENAME=$PATH_TRANSLATED
export SCRIPT_FILENAME
exec /bin/php-cgi

我不确定 php 代码没有被 apache 正确处理的原因是什么。我希望你能给我一些关于如何解决/调查它的想法。如果需要,我很乐意提供有关设置的更多信息。

最佳答案

您需要指定处理程序而不是媒体类型。例如:

<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

旁注:如今,除非您已经为线程安全编译了 php,否则您可能应该考虑将 Apache 2.4 与 mpm_event 和 mod_proxy_fcgi + php-fpm 一起使用,而不是“Apache 2.4 with prefork + mod_php”。

关于php - Apache 下载 php 文件而不是处理它们(在 php 7 升级后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39104756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com