当前位置: 首页 > 知识库问答 >
问题:

无法在RHEL+nginx上解释PHP

尹善
2023-03-14

我正在执行以下步骤,但似乎无法解释PHP。我做过很多变体,在网上搜索了很多遍,然后把它展示给一个朋友看:我们不明白自己做错了什么。你能帮忙吗?

>

  • 启动RHEL 7.3 Amazon免费层实例
  • 使用mac Terminal应用程序在SSH中连接

    sudo yum install wget
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    sudo rpm -Uvh epel-release-latest-7*.rpm
    sudo yum install nginx
    sudo service nginx restart

    在rehl实例入站规则中打开端口80

    检查http://[my_instance_name].eu-central-1.compute.amazonaws.com/,它将在Fedora页面上显示欢迎使用nginx

    安装php并配置nginx

    sudo yum install php-fpm
    sudo yum install nano
    sudo nano /etc/php.ini, and in the file, set cgi.fix_pathinfo=0
    sudo nano /etc/nginx/nginx.conf, and set the worker processes to 4 (value was: auto)
    sudo nano /etc/nginx/conf.d/default.conf and have the following conf:
    
        server {
            listen       80;
            server_name localhost;
    
    
            location / {
                root   /usr/share/nginx/html;
                index index.php  index.html index.htm;
            }
    
            error_page  404              /404.html;
            location = /404.html {
                root   /usr/share/nginx/html;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   /usr/share/nginx/html;
            }
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            location ~ \.php$ {
                root           /usr/share/nginx/html;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
                include        fastcgi_params;
            }
        }
    
    sudo nano /etc/php-fpm.d/www.conf and confirm user and group are php-fpm
    sudo service php-fpm restart
    sudo nano /usr/share/nginx/html/info.php containing phpinfo(); (with the php tags, stackoverflow seems to hide it)
    sudo service nginx restart
    sudo chkconfig --levels 235 nginx on
    sudo chkconfig --levels 235 php-fpm on
    

    浏览到http://[my_instance_name].eu-central-1.compute.amazonaws.com/info.php:它下载php文件,而不是解释它

    更改步骤/etc/php-fpm.d/www.conf并说用户和组是nginx,重新启动nginx,php文件仍然下载而不是解释

    更改步骤/etc/nginx/conf.d/default.conf并说server_name=[IP of my instance],重新启动nginx,php文件仍然下载而不是解释

    我错过了什么?

  • 共有2个答案

    淳于健
    2023-03-14

    您是否在使用简短的php打开标记?如果是这样,请仔细检查php.ini中的short_open_tag是否已启用,因为在某些发行版中,默认情况下它没有启用。

    它可能实际上/正在/工作,但PHP没有看到任何“PHP代码”。

    夏兴平
    2023-03-14

    首先检查/var/log/nginx和/var/log/php-fpm上的日志

    其次,使用netstat-lnp检查php-fpm是否侦听端口9000

    第三,这是对我起作用的nginx配置:

    location ~ [^/]\.php(/|$) {
                    fastcgi_split_path_info  ^(.+\.php)(/.*)$;
                    try_files $uri =404;
                    fastcgi_pass 127.0.0.1:9000;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    fastcgi_param   PATH_INFO $fastcgi_path_info;
                    include fastcgi_params;
        }
    
     类似资料:
    • 问题内容: 我正在尝试使用以下步骤在RHEL上安装python3: 哪个回来了 其次是: 搜索结果均未包含python3。接下来我应该尝试什么? 问题答案: 手动安装很容易: 下载(Python.org上可能有更新的版本): 解压缩 $ cd Python-3.* 准备编译 建立 安装 或者,如果您不想覆盖可执行文件(更安全,至少在某些发行版中需要为2.x,例如RHEL6)-您可以使用并发实例安装

    • 我有已安装,但我无法将其设置为解释器。 可以通过调用python3来确认安装。10直接在终端上,并使用以下命令: 但是,在尝试配置python3时。10由于Pycharm上的venv使用上述路径,我发现。我认为这与上面终端打印输出中的箭头有关,因此,如果有人能够帮助解释并正确配置它,这将非常有用。

    • 我有另一个设置,它是使用spring Boot1.5.2.Release。我检查了这两个版本是否都存在于我的本地.m2存储库中。不知道问题是什么。 看来,所有引进的新项目都在抛出同样的问题。例如。https://github.com/callicoder/spring-boot-acture-demo 更新 不确定为我的工作项目和演示项目切换settings.xml的合适方法,因为前者需要这些设置

    • 我正在学习Hibernate,但当我尝试使用Brandid进行筛选时,我不断得到以下错误: 这是我在mysql中的2个表 } 有人能告诉我我做错了什么吗

    • 问题内容: 我正在尝试在Linux上安装gcc和g ++ 4.9.2。我是Linux的新手,我看到了一些安装指南,但是每次遇到另一个问题时,我都会看到。我的机器上现在没有任何gcc。我的Linux版本是:Red Hat Enterprise Linux Server 7.4(Maipo)有人可以帮助我,并从头到尾给我说明如何正确执行此操作吗?非常感谢你。 问题答案: RHEL带有预配置的存储库,您

    • 使用变量重写时 当使用标准Kubernetes时,我可以使用作为冲突解决程序: 但Openshift并没有提供这一点。我已经尝试使用容器的,它只是我集群中运行DNS服务器的节点之一,但它仍然无法解析。 最奇怪的部分是从容器终端内部使用中的名称服务器,它工作正常。 有没有一个等效于我可以使用的开放移位中的库伯内特斯DNS主机名,或者其他解决方案来解决这个问题?

    • 问题内容: 以下代码在Windows下的node.js中产生异常: 这是消息: 当我删除时,它工作正常。是什么原因造成的?我尝试关闭防火墙,但没有任何效果。 问题答案: node.js使用c-ares解析器,并且完全忽略系统解析器。因此,有关C:\ WINDOWS \ system32 \ drivers \ etc \ hosts的建议可能无关紧要。 c-ares库读取某些系统配置文件-例如,在

    • 我在Ubuntu13.04桌面上运行这个非常简单的程序,但是如果我注释掉sleep_for一行,它会在从main打印cout后挂起。有人能解释为什么吗?据我所知,main是一个线程,t是另一个线程,在本例中,互斥体管理共享cout对象的同步。