The Linux Page


xhtml2pdf generating an error under 14.04+

Note: This bug is fixed in Ubuntu 16.04

Working on a website I have to convert invoices to PDF so end users have the ability to print and share the invoices from the website.

In order to do that, I generate an HTML page with the invoice which also gets displayed in the website, and then convert that HTML to PDF with xhtml2pdf. I use that tool instead of whtmltopdf because it does not require X11 to work. The other tool is said to require Qt and X11 and we do not want those things on our backend servers.

So... I upgraded to 14.04 and the tool stopped working with an ugly error:


Why would Redirect and RedirectMatch in Apache2 not work?

As we are working on a new website, we had a problem where a redirect would not work. I tried both: a simple Redirect and a RedirectMatch as follow:

Redirect /
RedirectMatch permanent ^(.*)$$1

Both of these entries would not work at all.

I verified, to make sure, that the alias module was turned on. It was.

ls -l /var/apache2/mods-enabled

This did list the alias.conf and alias.load entries as expected.

So? What else?

Well... This was installed on a new server and we left the default entry in there:

ls -l ...

Text import wizard in Excel 2010 not coming up with .csv file

As I was working on a table extracted from a PDF file, I wanted to load that table in Excel. By default it would put all the fields in column A. Not good. So I put that in a text file, added a pipe at the end of each time and then join lines really quick (with vim, it's J to join lines.)

Now I had a nice .csv file, with fields separated by a pipe (|) character.

123|Something|More info|This "worked" before?!

Now, time to load that file in Excel. I tried that and it gave me everything cut in "strange" places but especially, no way to select the column separator. Why ...

Just installed a PECL extension and Apache still doesn't understand it?!

Last night as I was compiling a new PECL extension for an install, after a while it worked... I could run php -v and it would give me the version of the PHP modules without telling me that the it couldn't load the extension (i.e. we already had the extension=http; in the php.ini file.)

But when testing with php -v on the command line, it would reload the php.ini and apply the extension feature and such.

However, when testing with Apache, it was still not working. The PECL installation was all correct, so why would it not see the resulting extensions?!

Because you need to restart Apache. ...

PHP Startup: Unable to load dynamic library undefined symbol: Z_ADDREF_P in Unknown on line 0

Today I helped a customer get a PECL extension going. The first error I was getting was as follow:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/' - /usr/lib64/php/modules/ cannot open shared object file: No such file or directory in Unknown on line 0

Obviously the extension was not yet installed... I run pear install pecl/pecl_http in order to get it to work, which it did after I installed the C compiler, the curl header files, and a few other things.

After a few minutes, I got the message:

install ok: ...

The Expression On Load you entered as the event property setting produced the following error: User-defined type not defined


A few days ago, I made many updates in one of the MS-Access forms I'm working on.

Then, when I tried to open the form I'd get this error...

The Expression On Load you entered as the event property setting produced the following error: User-defined type not defined

This doesn't mean anything to me since I did not define any type... Removing the Form_Load function (commenting it out) made that very error go away, however, since that's the sub-form of another form, it still generates errors when the main form is trying to initialize the sub-form.

Note that it ...

Apache error: pcfg_openfile: unable to check htaccess file, ensure it is readable

Today I got an error about an .htaccess file that Apache2 could not load.

   pcfg_openfile: unable to check htaccess file, ensure it is readable

I looked like 10 times in that folder to make sure the .htaccess was fine, which meant looking that there wasn't an actual .htaccess file there!

The fact is not exactly that the file cannot be opened, it has more to do with the parent folder accessibility. Somehow Apache2 does not check the parent folder accessibility and prints the error since, indeed, it gets an error other than the usual "File Not Found". (It's getting the ...

Attack by Bots

Since the ZmEu attack, I've been watching my logs a little closer. I also found a page that I could not read (but Google could and was kind enough to provide a cached version.) That page listed many bots that are not nice bots. So? I decided to block some of them, especially those that use very bad URLs or load many pages too quickly.

The result is that I'm getting more and IP addresses in my firewall. Although they get removed in a schedule that I will not state here, I can tell you that each time I block tenth when not hundredth of useless hits (worst than that at times those could be

PHP CLI Segmentation Fault with pgsql

Somehow, whenever I tried PHP CLI, it would crash because of PostgreSQL. (i.e. if I use the database in PHP through Apache, no problem, but the same script run via the command line, and it crashes on exit, no matter what I do with the resource handle.)

I was puzzled and did not really know what to do, but some people have found the solution. Now, what is really surprising is the fact that it has been around for ages and not yet fixed in the system.

The fact is, it does not matter too much as long as there is a work around, but you need to apply it yourself...

Load Average, to know how busy your server is

Whenever you run many applications on a server, such as many instances of your web server (i.e. Apache), you may want to know how much of the system is being used. This can be important to avoid overloading your system.

The load is computed by the kernel. The kernel knows how many processes are running and how much processing power your server has (i.e. how many processors.) With that information, it infers how many processes are being held back for a period of time. The default periods are 1, 5 and 15 minutes (I'm sure you can recompile your kernel with different timings!)

[toc hidden:1]
Syndicate content Syndicate content

SMS From Me Logo

SMS From Me

To automatically start one on one conversations with your online leads.


Terms of Site Index

Find the page/content you are looking for with our index.