Debian

為什麼 PHP 不能在 Debian9 上執行?

  • July 6, 2019

我只是嘗試在乾淨的 Debian9 VMBox 上使用 apache+reverse proxy nginx 組合。

我安裝了什麼:

apt-get install apache2 php7.0 php7.0-cli php7.0-curl php7.0-fpm \
php7.0-mysql apache2 mysql-server mysql-client libapache2-mod-rpaf phpmyadmin \
build-essential apache2-dev \

在apache mods之後:

a2dismod mpm_event
a2enmod mpm_worker
a2enmod proxy_fcgi

為站點創建配置後:

nano /etc/apache2/sites-avaible/localforum.conf

和:

<VirtualHost 127.0.0.1:81>
 ServerName localforum
 ServerAlias www.localforum

 ServerAdmin admin@localforum
 DocumentRoot /var/www/localforum/html

 ErrorLog ${APACHE_LOG_DIR}/domain_error.log
 CustomLog ${APACHE_LOG_DIR}/domain_access.log vhost_combined

 ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php/php7.0- fpm.sock|fcgi://127.0.0.1:81/var/www/localforum/html"
</VirtualHost>

在我創建/var/www/localforum/html/index.php後:

<? phpinfo(); ?>

在我編輯了 nginx.conf 之後:

server {
   listen 80 default;
   server_name 192.168.0.140;

   include /etc/nginx/default.d/*.conf;

   location / {
       root /var/www/html;
       proxy_pass http://127.0.0.1:81/;
       proxy_redirect off;
       proxy_set_header Host $http_host;
       proxy_set_header X-Real-IP $remote_addr;
   }

   error_page 404 /404.html;
       location = /40x.html {
   }
}

/etc/nginx/default.d/proxy.conf;

proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

啟動服務

service apache2 start
service nginx start

但是當我試圖獲取 index.php 時,我得到了空頁面。

在我創建簡單的 html 頁面之後,這工作正常。

PHP 我能錯過什麼?

頁面真的是空的嗎?日誌說什麼?

憑直覺,我看到您使用了已棄用的短標籤形式<?

嘗試使用完整的表格<?php

<?php
   phpinfo();
?>

引用自:https://unix.stackexchange.com/questions/528698