Archiwum

Posty oznaczone ‘php’

Collabtive – web-based project management software

Luty 26th, 2012 4 comments

Couple days ago installed Collabtive to manage my small projects in one place.

It is a PHP based solution with nice user interface that ideally fits my needs as it offers:

  • Multiple projects
  • Milestones
  • Task lists
  • File management
  • Time tracker

Ubuntu and recent problems related to PHP

Luty 24th, 2012 Brak komentarzy

Recently I run into small problems related to PHP.

Problem A – sqlite.so

First one was PHP warning:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/sqlite.so' - /usr/lib/php5/20090626/sqlite.so: cannot open shared object file: No such file or directory in Unknown on line 0

PHP tried to load sqlite.so from /etc/php5/conf.d/sqlite.ini (php5-sqlite package).

$ dpkg -L php5-sqlite
/.
/etc
/etc/php5
/etc/php5/conf.d
/etc/php5/conf.d/sqlite3.ini
/etc/php5/conf.d/pdo_sqlite.ini
/etc/php5/conf.d/sqlite.ini
/usr
/usr/share
/usr/share/doc
/usr/lib
/usr/lib/php5
/usr/lib/php5/20090626
/usr/lib/php5/20090626/pdo_sqlite.so
/usr/lib/php5/20090626/sqlite3.so
/usr/share/doc/php5-sqlite

As suspected there was sqlite3.so file.

$ ls /usr/lib/php5/20090626/
curl.so  gd.so  mysqli.so  mysql.so  pdo_mysql.so  pdo.so  pdo_sqlite.so  sqlite3.so

To solve this problem just delete /etc/php5/conf.d/sqlite.ini file.

$ sudo rm /etc/php5/conf.d/sqlite.ini

Problem B – fuser process

Second problem was more serious. Thousands of fuser zombie processes and funny CPU usage.

Hopefully there is a bug report #876387 so for solution look at fourth comment. Don’t forget to identify and kill already running find processes.

In short this problem can be quickly recognized by thousands of fuser zombie processes:

$ ps ax | awk '{if ($3=="Z" && $5~/fuser/) s++}; END {print s}'
21613

It was created by php cron job /etc/cron.d/php5 (php5-common package):

$ dpkg -S /etc/cron.d/php5 
php5-common: /etc/cron.d/php5

Source of this problem in /etc/cron.d/php5 file:

09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete

To solve it replace this line with one given below:

09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete

Don’t forget to kill running find processes:

# ps ax | grep "find /var/lib/php" | grep fuser | awk '{print $1}' | xargs kill
Tagi:,

Your own search engine software

Luty 23rd, 2012 Brak komentarzy

If you are looking for search engine software then try Yioop!.
It is PHP based and Open Source so it is very easy to deploy it on Intranet or remote dedicated server. You can try it directly at yioop.com

CentOS 6.2, phpMyAdmin, Apache 2.2 – Segmentation fault (11)

Styczeń 13th, 2012 Brak komentarzy

Today I installed phpMyAdmin on fresh CentOS 6.2 (with EPEL repository) and it was not working. Looking at Apache logs revealed only notice:

[notice] child pid 41292 exit signal Segmentation fault (11)

My Apache and PHP versions:

$ httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Dec  8 2011 18:07:26
$ php -v
PHP 5.3.3 (cli) (built: Jan 11 2012 19:30:40)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

The problem was with eAccelerator PHP module.

There are two simple solutions. First requires to edit /etc/php.d/eaccelerator.ini file and comment out one line:

extension="eaccelerator.so"

Second is to remove eAccelerator PHP module:

# rpm -e php-eaccelerator

Don’t forget to restart Apache.

Tagi:, ,

Self hosted bookmark management software

Grudzień 28th, 2011 Brak komentarzy

For last couple of days I was searching for self hosted bookmark management software and found one great solution (under active development!): SemanticScuttle.

I tried to install Pligg but I experienced too many problems, checked out PHPDug, Scuttle, Hotaru CMS but these are not actively developed. There is also Maneame but it is in Spanish.