PHP – Upgrading v5.2.5 to v5.2.8

Background Knowledge


The following is the process I took to upgrade a web server with PHP v5.2.5 to PHP v5.2.8 running on OpenBSD. PEAR is already installed on this system and up to date. I wasn’t sure if I should exclude PEAR at install or not so therefore did not tell the configurator to exclude PEAR at install.

Installation Process


  1. Download the latest stable PHP release from command prompt # wget http://ca.php.net/get/php-5.2.8.tar.gz/from/a/mirror
  2. # tar -zxvf php-5.2.8.tar.gz
  3. ./configure –with-mysql=/usr/local –with-mssql=/usr/local –with-apxs –with-zlib-dir=/usr/lib –with-config-file-path=/var/www/conf –with-iconv=/usr/local/bin/iconv –enable-exif –enable-mbstring –enable-calendar
  4. # make
  5. # make test
  6. # make install
  7. # make clean

As far as I could tell in the PHP 5 ChangeLog since at least PHP v5.2.5 there has not be any changes made to the php.ini configuration file. Therefore I chose to leave the PHP configuration file (php.ini) that was being used with PHP v5.2.5 for PHP v5.2.8.

Issues


  1. At configure I received the following message “checking for a sed that does not truncate output… (cached) /usr/bin/sed
    expr: syntax error ./configure[2322]: test: 0: unexpected operator/operand expr: syntax error ./configure[2337]: test: 0: unexpected operator/operand”

I’m not sure what to make of this error message. I tried to search on Google but was not successful finding any answers. I tested my PHP installation and all appears to be okay. If anyone knows what exactly this error means and how to resolve it please let me know.

MySQL – Can You Concatenate Strings From a Column Into a Single Row?

How would one concatenate strings from a column (multiple rows) into a single row using MySQL? I see its possible with MS SQL Server 2005 and above. Any incite into how to achieve this in MySQL would be much appreciated.

MS SQL Server 2005 – Example


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT Web_Account_ID,
GroupNameConcat = REPLACE(
	(
	SELECT
		Web_Account_Group_Name_ID AS [DATA()]
	FROM
		tblWebAccountGroup WAG
	WHERE
		WAG.Web_Account_ID = WA.Web_Account_ID
	ORDER BY
		Web_Account_Group_Name_ID
            FOR XML PATH ('')
        ), ' ', ',')
FROM tblWebAccounts WA
ORDER BY Web_Account_ID

Query Results Example


MS SQL Server 2005 query example

Source: aspfaq.com – How do I concatenate strings from a column into a single row?

TaskFreak! v0.6.2 – Tweaking Priority Menu

Background Knowledge


For some reason or another the priority menu in the edit task panel is not wide enough and therefore it cuts off the priority names. This can be easily fixed by modifying some inline CSS. Yes I agree this should be done within the skin’s CSS file, however there is nothing present in the CSS file to alter that I could find.

Continue reading

TaskFreak! v0.6.2 – Add My Projects List

Background Knowledge


TaskFreak! presently does not have a means via the web interface to present a complete list of tasks for which the current user is the project leader. I will show you how to add “My Projects” list based on bpiper’s solution with a slight difference. My solution is almost identical to bpiper’s but with a different approach to continue support of the supported interface languages. To do this each supported language file will require to be edited.

Thanks to bpiper for posting your solution.

Continue reading

Pear::Date Returned Timezone is Wrong

Background Knowledge


I’m trying to determine the difference in minutes between two timestamps. I’m using Pear::Date to do this. The issue comes into play when I noticed that the wrong timezone was being used by Pear::Date, UTC. If I do not use Pear::Date the timezone is set correctly.

I have tried using date_default_timezone_set() and it does set the timezone back, however I feel this shouldn’t be necessary as the default timezone should be used. I have been using date_default_timezone_get() to determine what timezone is being used.

It’s my understanding that Pear::Date uses UTC when it is unable to determine the default timezone. As far as I know I have the default timezone set correctly and with a valid ID (see below). I was able to determine that the timezone changed from my default timezone to UTC after I used Date::setFromDateDiff(). This does not seem right at all.

I have checked the following.

  • Pear v1.7.2 stable
  • Pear::Date v1.4.7 stable
  • php.ini (default timezone) – date.timezone = “Canada/Saskatchewan”
  • phpinfo() – Correct configure file being loaded, /var/www/conf/php.ini.
  • phpinfo() – Under Date, date/time support is enabled.
  • phpinfo() – Default timezone – Canada/Saskatchewan
  • phpinfo() – date.timezone - Canada/Saskatchewan / Canada/Saskatchewan

PHP Code Test Case


1
2
3
4
5
6
7
8
9
require_once("Date.php");
 
$obFirstDate = new Date('20081014155640');
$obSecondDate = new Date(date("YmdHis",time()));
 
$obDateSpan = new Date_Span();
$obDateSpan->setFromDateDiff($obFirstDate, $obSecondDate);
echo (int)$obDateSpan->toMinutes();
echo "<br />".date_default_timezone_get();

Solution – Unknown


Does anyone have any suggestions where to look or what to do to fix this problem?