Also, look in the Apache logs for anything unusual, like 404 errors or the like.
If OASIS is not behaving as expected, checking to see that there is adequate
disk space is an easy first diagnostic test. Use du to see
how much room is on each partition.
On a high traffic OASIS server, you might run into trouble with the following growing without bound:
If you are in need of immediate space, you can delete anything under /var/log/oasis/YYYY, which are archived log files.
Use ipcs to look at the shared memory segments, their size,
and their owner. You want them all to be owned by the user who runs your
Web server. If they're not owned properly, you can delete them (use
ipcrm and then run hourly_maint.php start to
recreate them.
Another common problem is that the shared memory segments are too small
for the required data. You'll see log entries in the admin log to this
effect. If this is the case, you should go into the Admin/Preferences
page to change the shared memory segment sizes (be sure not to exceed your
OS's maximum shared memory size (defined in /proc/sys/kernel/shmmax under
RedHat Linux). You'll need to stop and restart OASIS (use
hourly_maint.php stop and
hourly_maint.php start (as the Apache user, of course).
/etc/php.ini to change PHP configuration.
On an Enterprise server, the master server communicates with the slaves
via HTTP POST. Make sure that post_max_size is big enough
to accomodate the rather large files sent from master to slave. Look
at the /tmp/OASIS* files to see how large they can get. Note that these
files can get bigger as you add more sections and creatives to your server.
Make sure you have lots of headroom here.
When the slave servers parse the XML sent from the master server, they
parse it into an XML DOM, which uses a lot of memory. Be sure
that your PHP processes are allowed to use enough memory. Edit the
memory_limit parameter in php.ini.
Be sure to restart Apache after editing php.ini.
post_max_size PHP configuration variable, Apache
can limit the size of accepted requests. Make sure that
LimitRequestBody is not set too small in your Apache config
files. Under RedHat, this is set in /etc/httpd/conf.d/php.conf.
Check to make sure that MySQL is running. Use
/sbin/service mysqld status to check.
Make sure that you can connect to MySQL and use the oasis database.
Check /etc/httpd/conf/oasis_httpd.conf for the username and
password being used to connect to MySQL. Use those in the following
command:
mysql -u USERNAME -p
Enter the password. Now at the mysql prompt, type this:
use oasis
If you can't connect, you likely need to fix
oasis_httpd.conf so that it contains the right username/password.
If you don't know the right username and password, you'll need to connect
to MySQL's mysql database to set the username and password.
templates directory when you expand the source tarball.
The diagnostic scripts end with "-d.php". Copy those into
the directory where your delivery scripts live, and then replace a
normal delivery URL with the URL to one of these scripts (keep all the
CGI parameters, of course). You'll see copious debugging output that
will be helpful to determine why you don't see what you expect.
Common reasons for creatives not showing up as expected:
Another helpful diagnostic tool is showshm.php, which is found
in the utils directory when you expand the source tarball.
Use it to see exactly what is in shared memory. You can, of course, see
these things via the Web interface, but sometimes (especially on slave servers
in an Enterprise configuration), it is helpful to see them from the command
line.
master_reload.php with the start command-line
argument. Once this is called, the shared memory segments are now defined
properly on the new slave, and you should immediately
call master_reload.php
again without the start argument.