Syndicate content


SugarCRM Community Edition for Ubuntu 16.04 with PHP 7

As I wanted to use SugarCRM on my new server, I looked into the Community Edition and apparently the company is not willing to convert their code so it works under PHP 7.

So that would not work on a newer system because the code uses quite a few forbidden mechanism (wrong class definitions, old defunct functions...) and that prevents to even instal the system on your machine.

Now, I have looked closer into it and I am getting a version that works pretty darn well already. I still have some issues here and there, but I think you can already make use of that version. Except for one thing which ...

CRON Drupal says "HTTP/1.0 302 Found" about "/cgi-bin/ipdiags.ha" (AT&T U-Verse)

I run a few Drupal website and once per hour I run the cron.php script. I do it only once per hour because nothing changes so often on my websites so it would require faster refreshes.

Once in a while (relatively rarely now) I get a list of errors from CRON saying that the checks failed. The errors look something like this:

HTTP/1.0 302 Found
Location: /cgi-bin/ipdiags.ha
Pragma: no-cache
Content-Type: text/html

<html><meta http-equiv=Refresh content=0;url=/cgi-bin/ipdiags.ha>

As you can see, this is a 302 so a temporary error. ...

Installing / Upgrading SugarCRM

Preparations after unzip

Installing SugarCRM is generally easy, but if you don't want to just make everything writable by Apache, you may find it tricky, especially if you have problems setting up the system.

First of all, you want to get the code from and extract it in the root directory of the website where you want to use it. I prefer to dedicate a sub-domain name such as to make use of SugarCRM. That way I don't have to deal with other weird things of using this under a sub-directory.

Once in there, the user and group should be a user other than ...

The for() in C, C++, Java, PHP, JavaScript...

As I am working on my as2js compiler, I stumble on a couple of problems with the for() loop parsing because of the in keyword. That made me think and the for() statement was actually a very funny one. Yes! You can actually write something like this and it compiles:

int zero;
for(3;2;1) zero;

As you can see, all 3 entries in the for() statement are valid expressions and therefore the compiler can compile that code. This creates a loop that runs forever, similar to:

for(;;) zero;

but much less clear to read, obviously.

Now that's food for thought, isn't it?

In JavaScript, you ...

Bad move for PHP unpack()! So unpack() stopped working?

Today I noticed many errors on one of my websites. Looking closer into it, I noticed that the code for the mo_references Drupal module stopped working.

It took me some time, especially because the code seemed to work just fine as all the files could easily be displayed.

Actually, that was not the case. The unpack() character 'a', which I used, was transformed from a simple string that gets trimmed, to all the characters, including the NULL characters. Ouch! Now we have to use the 'Z' character instead.

I use it to unpack() a tar file by loading 512 bytes of data in a ...

get_defined_vars() PHP function

Once in a while, I need to get the complete list of all the variables available in a PHP piece of code.

This is done with the get_defined_vars() PHP function. It's very simple, it returns an array of name / value pairs. You can then print that value using print_r() or var_dump().

That's it!

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: ...

VTune "New Analysis" button disabled

Yesterday I installed VTune on a system at one of the companies I'm working with. It worked like a charm and I could run a few analysis and see problem areas in the system.

Later I worked on another C++ project in Linux, this morning I woke up on MS-Access, and did a little Drupal after that (PHP). I came back on Visual Studio C++ and... the VTune button is disabled! Not available at all somehow and no error message or anything!?

Turns out, like yesterday I had to start the VTune version of Visual Studio! Without that special version, it simply doesn't work, but it still appears and ...

Drupal paths that won't work!

As I created a new site to list all of my accounts on the Internet, I thought the folder where those accounts appear should be called profiles. But somehow autopath did not generate the URL Alias as expected.

I tried several times and each time it returned an empty alias. Then I tried adding the alias by hand and that was accepted by Drupal, but when I then tried to go to that page it failed with an Apache error which at first I found odd. Then I recalled that there was a folder named profiles in the top directory of Drupal. The Drupal code (from the

Syndicate content Syndicate content

Diverse Realty

Diverse Realty Team

Want a New Home?
Want to Sell Your House?

Call Alex at
+1 (916)
220 6482

Alexis Wilke, Realtor
Lic. # 02024063

Cory Marcus, Broker
Lic. # 01079165


Terms of Site Index

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

  • clamav
  • feed
  • logon
  • Safari

    The VACUUM instruction is used by PostgreSQL to query the server in cleaning up the corresponding database cluster. The work done is simply to remove the unused rows and clearly mark them are available. The VACUUM FULL command will go the extra distance of pushing the data so as to make the tables as small as possible. The command can be run on a per table basis.