PHP Fatal error: Call to undefined function utf8_decode()

This occurs on a FreeBSD server. According to this post[1], I need to install php5-xmlphp5-xml.

# whereis php5-xmlphp5-xml
php5-xml: /usr/ports/textproc/php5-xml
# portmaster textproc/php5-xml
# service apache22 restart



FreeBSD: Fatal error: Call to undefined function session_name()

I just setup Apache and PHP on FreeBSD 9, configured a vhost, then when I tried to access it, I got the following error:

Fatal error: Call to undefined function session_name() in /srv/www/ on line 144

so apparently, the “session” support is missiong from php5 installation. To fix it, I need to install php5-session port.

Let’s do it.

# whereis php5-session
php5-session: /usr/ports/www/php5-session
portmaster www/php5-session

If the installation is successful, then we can restart apache.

# service apache22 restart


# /usr/local/etc/rc.d/apache22 restart

That’s it.


apache2: Could not reliably determine the server’s fully qualified domain name, using for ServerName

Everytime I start apache2 (# apache2ctl start) this message is dispalyed:

apache2: Could not reliably determine the server’s fully qualified domain name, using for ServerName

Well, the site is still running despite the above notification.

To fix it, we need to edit the /etc/apache2/httpd.conf or /etc/apache2.conf and add the following line:

ServerName nameofserver

Now, restart the apache server (# apache2ctrl restart) and should no loger see the previous message.

Enable mod_userdir for Apache2 on Debian

By default Apache2 doesn’t enable mod_userdir, a module to enable all users in your Linux system to host web pages. On Debian, it’s very to enable this mod, and probably with other modules as well. There is no need to edit the config file manually.

There are two tools offered by Debian to assist you with enabling and disabling the modules in Apache2: a2enmod and a2dismod. As the name inferred, a2enmod enables the modules, while the a2dismod does the opposite.

In my case, all I need to do is to type the following commands as the root (, or using sudo):

# sudo a2enmod mod_userdir

Then restart the apache2 server:

# sudo /etc/init.d/apache2 force-reload