我怎样才能让我的服务器执行 PHP(而不是显示源代码)?

我怎样才能让我的服务器执行 PHP(而不是显示源代码)?

我无法让 PHP 被执行而不是像纯文本那样被处理。

我在一个新的 Debian 10 开发服务器上,并且安装了例如apache2libapache2-mod-php,其中安装了libapache2-mod-php7.3,但a2enmod找不到要执行的 PHP 模块。/etc/apache2/mods-available有:

access_compat.load    dir.conf          proxy_express.load
actions.conf          dir.load          proxy_fcgi.load
actions.load          dump_io.load      proxy_fdpass.load
alias.conf        echo.load         proxy_ftp.conf
alias.load        env.load          proxy_ftp.load
allowmethods.load     expires.load      proxy_hcheck.load
asis.load         ext_filter.load       proxy_html.conf
auth_basic.load       file_cache.load       proxy_html.load
auth_digest.load      filter.load       proxy_http2.load
auth_form.load        headers.load      proxy_http.load
authn_anon.load       heartbeat.load        proxy.load
authn_core.load       heartmonitor.load     proxy_scgi.load
authn_dbd.load        http2.conf        proxy_uwsgi.load
authn_dbm.load        http2.load        proxy_wstunnel.load
authn_file.load       ident.load        ratelimit.load
authn_socache.load    imagemap.load     reflector.load
authnz_fcgi.load      include.load      remoteip.load
authnz_ldap.load      info.conf         reqtimeout.conf
authz_core.load       info.load         reqtimeout.load
authz_dbd.load        lbmethod_bybusyness.load  request.load
authz_dbm.load        lbmethod_byrequests.load  rewrite.load
authz_groupfile.load  lbmethod_bytraffic.load   sed.load
authz_host.load       lbmethod_heartbeat.load   session_cookie.load
authz_owner.load      ldap.conf         session_crypto.load
authz_user.load       ldap.load         session_dbd.load
autoindex.conf        log_debug.load        session.load
autoindex.load        log_forensic.load     setenvif.conf
brotli.load       lua.load          setenvif.load
buffer.load       macro.load        slotmem_plain.load
cache_disk.conf       md.load           slotmem_shm.load
cache_disk.load       mime.conf         socache_dbm.load
cache.load        mime.load         socache_memcache.load
cache_socache.load    mime_magic.conf       socache_shmcb.load
cern_meta.load        mime_magic.load       speling.load
cgid.conf         mpm_event.conf        ssl.conf
cgid.load         mpm_event.load        ssl.load
cgi.load          mpm_prefork.conf      status.conf
charset_lite.load     mpm_prefork.load      status.load
data.load         mpm_worker.conf       substitute.load
dav_fs.conf       mpm_worker.load       suexec.load
dav_fs.load       negotiation.conf      unique_id.load
dav.load          negotiation.load      userdir.conf
dav_lock.load         proxy_ajp.load        userdir.load
dbd.load          proxy_balancer.conf   usertrack.load
deflate.conf          proxy_balancer.load   vhost_alias.load
deflate.load          proxy.conf        xml2enc.load
dialup.load       proxy_connect.load

我觉得 PHP 没有被列出。

除了安装 Apache、PHP 和 Apache PHP 库之外,还有其他步骤能够使用a2enmodPHP 吗?

谢谢,

答案1

检查 Apache 是否正常工作后,您是否运行了以下命令?

  • sudo apt 更新
  • sudo apt 安装 php libapache2-mod-php

安装后您是否重新启动了 Apache?

  • sudo systemctl 重新启动 apache2

这就是我要做的,以使它在 Debian 10 上运行。

测试

将一个名为 index.php 的文件放在服务器的 web-root 中。它应该包含以下内容:

<?php
phpinfo();
?>

然后打开网络浏览器并将其指向您的服务器。

如果 php 可以正常工作,那么您现在应该可以看到比文件中放入的内容多得多的内容。

相关内容