Hello, Everyone
I just did a full install of Fedora 40. It is fully updated.
I am attempting to run Gallery3 on a webserver that I host on this computer (the one with Fedora 40 on it) I was able to install Gallery3, but when I attempt to go to the gallery to add pictures, I just get a plain white screen in the web browser.
Some of you might be thinking about now that this is a Gallery3 issue, not Fedora. But, when I run php -v, I get the following:
root@afolkey2:/var/log/httpd# php -v PHP Warning: PHP Startup: Unable to load dynamic library 'mysqli' (tried: /usr/lib64/php/modules/mysqli (/usr/lib64/php/modules/mysqli: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mysqli.so (/usr /lib64/php/modules/mysqli.so: undefined symbol: mysqlnd_global_stats)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/path/to/extension/mysqli.so' (tried: /path/to/extension/mysqli.so (/path/to/extension/mysqli.so: cannot open shared object file: No such file or directory), /usr/lib64/php/mod ules//path/to/extension/mysqli.so.so (/usr/lib64/php/modules//path/to/extension/mysqli.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
The directory "/usr/lib64/php/modules/mysqli" does NOT exist. "/usr/lib64/php/modules/mysqli.so (/usr/lib64/php/modules/mysqli.so" DOES exist
Any ideas?
Steven P. Ulrick
On Wed, 2024-11-06 at 11:11 -0600, Steven P. Ulrick wrote:
The directory "/usr/lib64/php/modules/mysqli" does NOT exist. "/usr/lib64/php/modules/mysqli.so (/usr/lib64/php/modules/mysqli.so" DOES exist
Take a look at files in /etc/php.d. There should be lots of ini files there. Perhaps there's one there that is trying to enable a module but is pointing to the wrong file? If so that'd be a bug to report.
Sincerely, -- Nathanael Noblet
On 11/6/24 5:11 PM, Nathanael Noblet wrote:
On Wed, 2024-11-06 at 11:11 -0600, Steven P. Ulrick wrote:
The directory "/usr/lib64/php/modules/mysqli" does NOT exist. "/usr/lib64/php/modules/mysqli.so (/usr/lib64/php/modules/mysqli.so" DOES exist
Take a look at files in /etc/php.d. There should be lots of ini files there. Perhaps there's one there that is trying to enable a module but is pointing to the wrong file? If so that'd be a bug to report.
Here is a list of all the files in /etc/php.d:
10-opcache.ini 20-bz2.ini 20-calendar.ini 20-ctype.ini 20-curl.ini 20-dom.ini 20-exif.ini 20-fileinfo.ini 20-ftp.ini 20-gd.ini 20-gettext.ini 20-iconv.ini 20-mbstring.ini 20-mysqlnd.ini 20-pdo.ini 20-phar.ini 20-simplexml.ini 20-sodium.ini 20-sqlite3.ini 20-tokenizer.ini 20-xml.ini 20-xmlwriter.ini 20-xsl.ini 30-mysqli.ini 30-pdo_dblib.ini 30-pdo_firebird.ini 30-pdo_mysql.ini 30-pdo_sqlite.ini 30-xmlreader.ini mlt.ini opcache-default.blacklist
I looked at every file. All of the .ini files follow a similar pattern. For example, "30-mysqli.ini" looks like this:
; Enable mysqli extension module extension=mysqli
In each of the INI files, the "extension=" line contains the exact information that is between the "-" & "." in the file names. Nothing appeared to be out of order.
Steven P. Ulrick
On Wed, 6 Nov 2024 at 17:11, Steven P. Ulrick meow8282@gmail.com wrote:
I just did a full install of Fedora 40. It is fully updated. I am attempting to run Gallery3 on a webserver that I host on this computer (the one with Fedora 40 on it) I was able to install Gallery3, but when I attempt to go to the gallery to add pictures, I just get a plain white screen in the web browser.
Some of you might be thinking about now that this is a Gallery3 issue, not Fedora. But, when I run php -v, I get the following:
root@afolkey2:/var/log/httpd# php -v PHP Warning: PHP Startup: Unable to load dynamic library 'mysqli' (tried: /usr/lib64/php/modules/mysqli (/usr/lib64/php/modules/mysqli: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mysqli.so (/usr /lib64/php/modules/mysqli.so: undefined symbol: mysqlnd_global_stats)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/path/to/extension/mysqli.so' (tried: /path/to/extension/mysqli.so (/path/to/extension/mysqli.so: cannot open shared object file: No such file or directory), /usr/lib64/php/mod ules//path/to/extension/mysqli.so.so (/usr/lib64/php/modules//path/to/extension/mysqli.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
The directory "/usr/lib64/php/modules/mysqli" does NOT exist. "/usr/lib64/php/modules/mysqli.so (/usr/lib64/php/modules/mysqli.so" DOES exist
I think there might be some missing steps here?
1. How did you install PHP? 2. How did you install Mysql for PHP? 3. How did you install Gallery3? 4. Are there any other steps you did that aren't obvious?
I like to try and do stuff like this in a container first so you have a relatively clean way to reproduce stuff:
$ podman run -it registry.fedoraproject.org/fedora:40
[root@bf109911d54b /]# rpm -qa | grep php
[root@bf109911d54b /]# dnf -y install php <snip>
[root@bf109911d54b /]# php -v PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
[root@bf109911d54b /]# dnf provides /usr/lib64/php/modules/mysqli Error: No matches found. If searching for a file, try specifying the full path or using a wildcard prefix ("*/") at the beginning.
[root@bf109911d54b /]# dnf provides /usr/lib64/php/modules/mysqli.so Last metadata expiration check: 0:00:33 ago on Thu Nov 7 01:52:14 2024. php-mysqlnd-8.3.4-1.fc40.x86_64 : A module for PHP applications that use MySQL databases Repo : fedora Matched from: Filename : /usr/lib64/php/modules/mysqli.so
php-mysqlnd-8.3.13-1.fc40.x86_64 : A module for PHP applications that use MySQL databases Repo : updates Matched from: Filename : /usr/lib64/php/modules/mysqli.so
[root@bf109911d54b /]# dnf -y install php-mysqlnd Installed: php-mysqlnd-8.3.13-1.fc40.x86_64
Complete!
[root@bf109911d54b /]# php -v PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
[root@bf109911d54b /]# rpm -qa | grep mysql php-mysqlnd-8.3.13-1.fc40.x86_64
Note, at this stage I still don't have MySQL installed (or MariaDB). So if you need to have a local database to support Gallery3 (or a remote DB via ODBC / JDBC or whatever... that's not fulfilled.)
This looks weird/suspect too, specifically '/path/to/extension/':
PHP Warning: PHP Startup: Unable to load dynamic library
'/path/to/extension/mysqli.so' (tried: /path/to/extension/mysqli.so (/path/to/extension/mysqli.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules//path/to/extension/mysqli.so.so
https://www.baeldung.com/linux/mysqli-extension-activate shows the 'mysql-server' package being installed too?
Have you restarted Apache?
On 11/6/24 8:03 PM, Will McDonald wrote:
On Wed, 6 Nov 2024 at 17:11, Steven P. Ulrick meow8282@gmail.com wrote:
I just did a full install of Fedora 40. It is fully updated. I am attempting to run Gallery3 on a webserver that I host on this computer (the one with Fedora 40 on it) I was able to install Gallery3, but when I attempt to go to the gallery to add pictures, I just get a plain white screen in the web browser. Some of you might be thinking about now that this is a Gallery3 issue, not Fedora. But, when I run php -v, I get the following: > root@afolkey2:/var/log/httpd# php -v > PHP Warning: PHP Startup: Unable to load dynamic library 'mysqli' > (tried: /usr/lib64/php/modules/mysqli (/usr/lib64/php/modules/mysqli: > cannot open shared object file: No such file or directory), > /usr/lib64/php/modules/mysqli.so (/usr > /lib64/php/modules/mysqli.so: undefined symbol: mysqlnd_global_stats)) > in Unknown on line 0 > PHP Warning: PHP Startup: Unable to load dynamic library > '/path/to/extension/mysqli.so' (tried: /path/to/extension/mysqli.so > (/path/to/extension/mysqli.so: cannot open shared object file: No such > file or directory), /usr/lib64/php/mod > ules//path/to/extension/mysqli.so.so <http://mysqli.so.so> > (/usr/lib64/php/modules//path/to/extension/mysqli.so.so <http://mysqli.so.so>: cannot open > shared object file: No such file or directory)) in Unknown on line 0 > PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64) > Copyright (c) The PHP Group > Zend Engine v4.3.13, Copyright (c) Zend Technologies > with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies The directory "/usr/lib64/php/modules/mysqli" does NOT exist. "/usr/lib64/php/modules/mysqli.so (/usr/lib64/php/modules/mysqli.so" DOES existI think there might be some missing steps here?
- How did you install PHP?
dnf install from the standard fedora 40 repos
- How did you install Mysql for PHP?
same as above. Fedora 40 uses mariadb instead of mysql. At least through the installation process for gallery3, gallery3 did not seem to mind.
- How did you install Gallery3?
I ran git clone on the official Gallery3 git repo
- Are there any other steps you did that aren't obvious?
None that come to mind right now.
I like to try and do stuff like this in a container first so you have a relatively clean way to reproduce stuff:
$ podman run -it registry.fedoraproject.org/fedora:40 http://registry.fedoraproject.org/fedora:40
[root@bf109911d54b /]# rpm -qa | grep php
[root@bf109911d54b /]# dnf -y install php
<snip>
[root@bf109911d54b /]# php -v PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
[root@bf109911d54b /]# dnf provides /usr/lib64/php/modules/mysqli Error: No matches found. If searching for a file, try specifying the full path or using a wildcard prefix ("*/") at the beginning.
[root@bf109911d54b /]# dnf provides /usr/lib64/php/modules/mysqli.so Last metadata expiration check: 0:00:33 ago on Thu Nov 7 01:52:14 2024. php-mysqlnd-8.3.4-1.fc40.x86_64 : A module for PHP applications that use MySQL databases Repo : fedora Matched from: Filename : /usr/lib64/php/modules/mysqli.so
php-mysqlnd-8.3.13-1.fc40.x86_64 : A module for PHP applications that use MySQL databases Repo : updates Matched from: Filename : /usr/lib64/php/modules/mysqli.so
[root@bf109911d54b /]# dnf -y install php-mysqlnd Installed: php-mysqlnd-8.3.13-1.fc40.x86_64 Complete!
[root@bf109911d54b /]# php -v PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
[root@bf109911d54b /]# rpm -qa | grep mysql php-mysqlnd-8.3.13-1.fc40.x86_64
Note, at this stage I still don't have MySQL installed (or MariaDB). So if you need to have a local database to support Gallery3 (or a remote DB via ODBC / JDBC or whatever... that's not fulfilled.)
This looks weird/suspect too, specifically '/path/to/extension/':
PHP Warning: PHP Startup: Unable to load dynamic library
'/path/to/extension/mysqli.so' (tried: /path/to/extension/mysqli.so (/path/to/extension/mysqli.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules//path/to/extension/mysqli.so.so http://mysqli.so.so
https://www.baeldung.com/linux/mysqli-extension-activate shows the 'mysql-server' package being installed too?
Yeah, that was weird. One thing I need to mention. I have been running Gallery3 on various versions of Fedora Linux for many years now. Probably almost 15 years I've been successfully installing and running it.
Have you restarted Apache?
Oh, have I restarted Apache! No one in the world today has restarted Apache as many time as I have! Yeah, I know, there may be some poor sap out their that having a worse time than I have today...
On 11/6/24 8:41 PM, Steven P. Ulrick wrote:
On 11/6/24 8:03 PM, Will McDonald wrote:
[root@bf109911d54b /]# php -v PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
[root@bf109911d54b /]# rpm -qa | grep mysql php-mysqlnd-8.3.13-1.fc40.x86_64
Note, at this stage I still don't have MySQL installed (or MariaDB). So if you need to have a local database to support Gallery3 (or a remote DB via ODBC / JDBC or whatever... that's not fulfilled.)
This looks weird/suspect too, specifically '/path/to/extension/':
PHP Warning: PHP Startup: Unable to load dynamic library
'/path/to/extension/mysqli.so' (tried: /path/to/extension/mysqli.so (/path/to/extension/mysqli.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules//path/to/extension/mysqli.so.so http://mysqli.so.so
So, I went through the instructions on that website. I revisited /etc/php.ini and I found '/path/to/extension/mysqli.so' right there... The actual location of mysqli.so is "/lib64/php/modules/mysqli.so" so I made appropriate change, restarted httpd, with mo joy... I then rebooted, deleted var, made a new one with the correct permissions (again...) and successfully went through the installation process. The results: nothing. I am right where I started...
https://www.baeldung.com/linux/mysqli-extension-activate shows the 'mysql-server' package being installed too?
I have the Fedora 40 equivelant:
mariadb-server-10.11.9-1.fc40.x86_64
Yeah, that was weird. One thing I need to mention. I have been running Gallery3 on various versions of Fedora Linux for many years now. Probably almost 15 years I've been successfully installing and running it.
Have you restarted Apache?
Oh, have I restarted Apache! No one in the world today has restarted Apache as many time as I have! Yeah, I know, there may be some poor sap out their that having a worse time than I have today...
When I try to access my gallery3 installation using firefox, it just silently fails. When I try the exact same thing in Vivaldi, I get HTTP ERROR 500, which of course means absolutely nothing specific. But, that made me think of this:
1. If I go to http://www.afolkey2.us/gallery3, I get the 500 error (in vivaldi)
2. If I go to http://www.afolkey2.us/gallery3/installer, since the installation is otherwise complete, I get a congratulatory message that includes a link to "http://www.afolkey2.us/gallery3". Following that, I get the same 500 error I get when I try to access that URL directly.
I am something of music hoarder. Therefore I run the "tree" & "mp3report" commands on the music directories on my computer so I can access them when I am out shopping so that I can avoid buying duplicated. That being said:
3. If go to "http://www.afolkey2.us/Tree/" it works perfectly. The same if I go to "http://www.afolkey2.us/mp3report/"
So, my webserver works. It can somewhat serve php files, since I can run the installer for gallery3. But I go to the root of my gallery3 install, and attempt to access index.php, then it fails in such a way that it does not even produce any error messages or logs other than the generic 500 error.
Therefore, I am off to peruse the contents of http://www.afolkey2.us/gallery3/index.php
On 11/6/24 9:08 PM, Steven P. Ulrick wrote:
On 11/6/24 8:41 PM, Steven P. Ulrick wrote:
On 11/6/24 8:03 PM, Will McDonald wrote:
[root@bf109911d54b /]# php -v PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
[root@bf109911d54b /]# rpm -qa | grep mysql php-mysqlnd-8.3.13-1.fc40.x86_64
Note, at this stage I still don't have MySQL installed (or MariaDB). So if you need to have a local database to support Gallery3 (or a remote DB via ODBC / JDBC or whatever... that's not fulfilled.)
This looks weird/suspect too, specifically '/path/to/extension/':
PHP Warning: PHP Startup: Unable to load dynamic library
'/path/to/extension/mysqli.so' (tried: /path/to/extension/mysqli.so (/path/to/extension/mysqli.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules//path/to/extension/mysqli.so.so http://mysqli.so.so
So, I went through the instructions on that website. I revisited /etc/php.ini and I found '/path/to/extension/mysqli.so' right there... The actual location of mysqli.so is "/lib64/php/modules/mysqli.so" so I made appropriate change, restarted httpd, with mo joy... I then rebooted, deleted var, made a new one with the correct permissions (again...) and successfully went through the installation process. The results: nothing. I am right where I started...
https://www.baeldung.com/linux/mysqli-extension-activate shows the 'mysql-server' package being installed too?
I have the Fedora 40 equivelant:
mariadb-server-10.11.9-1.fc40.x86_64
Yeah, that was weird. One thing I need to mention. I have been running Gallery3 on various versions of Fedora Linux for many years now. Probably almost 15 years I've been successfully installing and running it.
Have you restarted Apache?
Oh, have I restarted Apache! No one in the world today has restarted Apache as many time as I have! Yeah, I know, there may be some poor sap out their that having a worse time than I have today...
Potentially silly question: is PHP considered a module by httpd that needs to be loaded? There are some articles on the internet that talk about fixing problems like the one that I am having. When I run "httpd -M | grep php" nothing comes back.
Please advise if this is an issue, and how I can go about fixing it.
On 11/6/24 11:11 AM, Steven P. Ulrick wrote:
Hello, Everyone
I just did a full install of Fedora 40. It is fully updated.
I am attempting to run Gallery3 on a webserver that I host on this computer (the one with Fedora 40 on it) I was able to install Gallery3, but when I attempt to go to the gallery to add pictures, I just get a plain white screen in the web browser.
Some of you might be thinking about now that this is a Gallery3 issue, not Fedora. But, when I run php -v, I get the following:
root@afolkey2:/var/log/httpd# php -v PHP Warning: PHP Startup: Unable to load dynamic library 'mysqli' (tried: /usr/lib64/php/modules/mysqli (/usr/lib64/php/modules/mysqli: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mysqli.so (/usr /lib64/php/modules/mysqli.so: undefined symbol: mysqlnd_global_stats)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/path/to/extension/mysqli.so' (tried: /path/to/extension/mysqli.so (/path/to/extension/mysqli.so: cannot open shared object file: No such file or directory), /usr/lib64/php/mod ules//path/to/extension/mysqli.so.so (/usr/lib64/php/modules//path/to/extension/mysqli.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP 8.3.13 (cli) (built: Oct 22 2024 18:39:14) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.13, Copyright (c) Zend Technologies with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
The directory "/usr/lib64/php/modules/mysqli" does NOT exist. "/usr/lib64/php/modules/mysqli.so (/usr/lib64/php/modules/mysqli.so" DOES exist
Any ideas?
Steven P. Ulrick
On Thu, 7 Nov 2024 at 02:41, Steven P. Ulrick meow8282@gmail.com wrote:
On 11/6/24 8:03 PM, Will McDonald wrote:
On Wed, 6 Nov 2024 at 17:11, Steven P. Ulrick meow8282@gmail.com
wrote:
I think there might be some missing steps here?
- How did you install PHP?
dnf install from the standard fedora 40 repos
- How did you install Mysql for PHP?
same as above. Fedora 40 uses mariadb instead of mysql. At least through the installation process for gallery3, gallery3 did not seem to mind.
- How did you install Gallery3?
I ran git clone on the official Gallery3 git repo
- Are there any other steps you did that aren't obvious?
None that come to mind right now.
Reading the Gallery installation, I think there are missing steps. I've mocked up the end-to-end process in a clean Vagrant VM, I still get different results to you from `php -v` which implies to me that there's something else potentially misconfigured or mis-installed on your system?
https://gist.github.com/wmcdonald404/45be8efc92730335158daf7e8ec1db86
The one thing I have noticed is that either the default Apache install is not picking up changes to short_open_tag from /etc/php.ini, or the mechanism Gallery3 is using to validate this is somehow faulty.
The documented 'command line' installation doesn't work either (see the Gist).
The project hasn't been updated in ~10 years. It's possible you're running into version mismatch / compatibility issues between the current packaged PHP release and whatever Gallery3 was built and tested against?
What was the last Fedora release you had it working on? Again, this might suggest you move this particular workload into a container to isolate older versions/dependencies, or look for a maintained equivalent, or fork the project (or find forks someone else is maintaining) and triage the failures?