(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
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.
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~
Great that it worked out, did you use
apt remove
orapt 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)
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.
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.
Have you tried enabling php with the a2enmod command ? https://www.serverlab.ca/tutorials/linux/web-servers-linux/installing-php-for-apache-on-ubuntu/
It returned: Module php8.1 already enabled
Was that the output of
sudo a2enmod php
?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.
😂 welcome to the wonderful world of computing.
If it shan’t dance to your flute, reboot
Anti Commercial AI thingy
Maybe there is a conflict between libapache2-mod-php and php-cgi?
According to your doc, it seems to be one or the other.
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.
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(); ?>
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.
Lol, turn it off and back on!
Basically, lol