(I’m currently using Firefox 124.01 on Ubuntu 22.04.03 LTS) (My formatting is also givinge problems… I want to eat my own eyeballs out right now…)

I’m very new to Linux, and trying to get PHP installed, but it won’t render anything…

Following this guide (https://ubuntu.com/server/docs/programming-php), I started with:

sudo apt update
sudo apt install apache2

Test Page Success!

So I continue with:

sudo apt install php libapache2-mod-php
sudo apt install php-mysql
sudo apt install php-cgi

Then:

sudo systemctl restart apache2.service

I write the following in /var/www/html/index.php:

<?php

phpinfo();

Test Text1

?>

Test Text2

I see “Test Text2” and nothing else. I see my PHP tags and their contents upon source inspection.

Then I perform the following:

apt list --installed | grep php
sudo apt purge php
apt list --installed | grep php (0 Results)

And try again:

sudo apt install php libapache2-mod-php
sudo apt install php-mysql
sudo apt install php-cgi

sudo systemctl restart apache2.service

No luck… Any ideas what’s going on?

A little additional info:

~$ which php
/usr/bin/php
~$ php -v
PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.14, Copyright (c), by Zend Technologies
~$ apt list --installed | grep php

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libapache2-mod-php8.1/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.14 amd64 [installed,automatic]
libapache2-mod-php/jammy,jammy,now 2:8.1+92ubuntu1 all [installed]
php-common/jammy,jammy,now 2:92ubuntu1 all [installed,automatic]
php-mysql/jammy,jammy,now 2:8.1+92ubuntu1 all [installed]
php8.1-cli/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.14 amd64 [installed,automatic]
php8.1-common/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.14 amd64 [installed,automatic]
php8.1-mysql/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.14 amd64 [installed,automatic]
php8.1-opcache/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.14 amd64 [installed,automatic]
php8.1-readline/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.14 amd64 [installed,automatic]
php8.1/jammy-updates,jammy-updates,jammy-security,jammy-security,now 8.1.2-1ubuntu2.14 all [installed,automatic]
php/jammy,jammy,now 2:8.1+92ubuntu1 all [installed]
/etc/apache2/mods-enabled$ ls
access_compat.load  authz_core.load  deflate.load  mime.load         php8.1.load      status.load
alias.conf          authz_host.load  dir.conf      mpm_prefork.conf  reqtimeout.conf
alias.load          authz_user.load  dir.load      mpm_prefork.load  reqtimeout.load
auth_basic.load     autoindex.conf   env.load      negotiation.conf  setenvif.conf
authn_core.load     autoindex.load   filter.load   negotiation.load  setenvif.load
authn_file.load     deflate.conf     mime.conf     php8.1.conf       status.conf
  • dbx12@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    7 months ago

    Looks like your php code is wrong, try this (and just this) for index.php

    <?php
    phpinfo();
    

    You also had Test Text1 inside the php block which is a syntax error. Maybe that’s the cause why you don’t get anything.

    Edit corrected the filename to lowercase extension.

    • GardenVarietyAnxiety@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      I wiped and reinstalled everything php and apache… It still didn’t work, so I tried your suggestion and simply put

      <?php phpinfo();

      It works now? And reverting to my original file works too…

      I don’t know how, but your idea worked. Thanks~

      • dbx12@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        7 months ago

        Great that it worked out, did you use apt remove or apt purge?

        You might want to put your code in triple back ticks so it renders as code block :) Currently isn’t visible on some clients (boost for Lemmy in my case)

  • sloppy_diffuser@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    7 months ago

    I don’t have a solution, but wanted to comment this is a reason to use docker. Instead of tinkering with your host system in ways you’ll probably forget, declare all the steps in a nice containerized system that does one thing: hosts a php website as you develop.

    Expose your project through a volume for a mostly seamless file sharing experience between the host and container.

    • GardenVarietyAnxiety@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      7 months ago

      I’ve seen a lot about docker, and it looks pretty awesome.

      I’ll definitely get to it eventually, I’m just trying to learn the basics for now.

  • raoul@lemmy.sdf.org
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    Maybe there is a conflict between libapache2-mod-php and php-cgi?

    According to your doc, it seems to be one or the other.

    • GardenVarietyAnxiety@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      I wiped and reinstalled everything php and apache… It still didn’t work, so I tried to simply put

      <?php phpinfo();

      as suggested by someone else …and it works now? I reverted my .php file to what I listed in my op and that works now, too.

      Oi.

  • hitmyspot@aussie.zone
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    Have you tried a html file to ensure Apache is ok? Or no files and Apache should show a server page.

    Also, the test file can just be

    <?php phpinfo(); ?>