Penn State Mark Penn State Application Services - PHP Web service text graphic Information Technology Services
 
PHP Web Service home | Storing Data | Setting PASS Permissions | Firewall/Database Permissions Info | Errata and Change Log

Maintenance Upgrade - PHP Phase II, Build 4 - Effective Friday, October 6, 2006

See also: http://its.psu.edu/alerts/alert-137

New Features

Upgraded

Installed But Not Supported

You are free to use the following; however, please note that support will not be provided.

  • PEAR
    • You may try to install modules manually via file upload instructions on pear.php.net - pear executable currently unavailable.
    • We will not install PEAR modules for you at this time.
    • The base PEAR modules are installed: Archive_Tar, Console_Getopt, PEAR, XML_RPC
    • Base PEAR installation scripts require your scripts to be owned by group "access" (GID 1000) to pass safe_mode GID checking. This is the default group for Penn State Access Accounts.
    • You may need to grant the PHP server write access to your PEAR installation folder. Directions for how to grant access.

Newly Resolved Problems

  • is_readable() / is_writable() support for PASS ACLs - In previous versions of PHP 5.x, is_writable() and is_readable() both gave answers without regard to POSIX ACLs, which in our case of PASS, didn't accurately reflect the PASS (DCE/DFS) file ACL permissions. PHP applications such as Joomla! and Drupal had problems during installation as the is_readable() and is_writable() PHP functions falsely reported files/folders could not be used as required by the installation script. This PHP Bug #34957 was fixed in PHP version 5.1.0, thus included in Penn State Application Engines Phase II, Build 4.

  • Empty query string crash PDO 'sqlite2' objects - The 'sqlite2' PDO driver causes a segmentation fault (server process crash, which appears as a blank page / reset connection in a browser) when the ->query method operates on a blank (null + any number of whitespace) string. -- A patch has been applied and submitted to the PHP community.

Previously Resolved Problems

  • PHP readdir() function / POSIX readdir_r() stack corruption - There was a known problem where the readdir() function would cause a server process to crash under the right conditions; this may have caused Web browsers to display error messages such as, "Document contains no data," or, "Page cannot be displayed." -- A workaround has been implemented to eliminate this issue.

  • sqlite_open() / new PDO('sqlite') / new PDO('sqlite2') fail to open a relative database filename with an unreadable ancestor folder - There was a condition when sqlite_open() would fail to open a database file when referred to via a relative path name. This occured when a subsequent getcwd() call fails, which it would when an ancestor folder was not readable by the Web server. This is common for PHP scripts run from Penn State Personal Web space. This was fixed in Phase II, Build 3 by a custom patch, which also fixed another bug that caused server crashes, as documented at http://www.sqlite.org/cvstrac/tktview?tn=1274. The second bug that caused server crashes has been fixed in SQLite Code Checkin #2491 / SQLite 3.2.2 / SQLite 2.8.17 / PHP 5.1.2. -- A patch has been applied to fix the remaining bug again in Phase II, Build 4.

Unresolved Problems

  • None known at this time.


The Pennsylvania State University ©2006. All rights reserved.
Alternative Media - Nondiscrimination Statement
Information Technology Services.

For assistance please write to helpdesk@psu.edu or see our Help Sources.

Last revised: Friday, September 22, 2006.