Maintenance Upgrade - PHP Phase II, Build 4 - Effective Friday, October 6, 2006
See also: http://its.psu.edu/alerts/alert-137
- Support for new databases, including:
- Added support for curl (PHP curl extension)
- PHP 5.1.x features, including:
Installed But Not Supported
You are free to use the following; however, please note that support
will not be provided.
- 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()
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
PHP Bug #34957 was
fixed in PHP version
5.1.0, thus included in Penn State Application Engines Phase II,
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,