1
0
mirror of https://github.com/php/web-php.git synced 2026-03-24 15:22:19 +01:00
Files
1997-11-03 22:04:34 +00:00

134 lines
5.7 KiB
Plaintext

+----
| * -- to be done
| ? -- to be done sometime if possible
| P -- in progress (name should appear in parentheses after task)
| D -- delayed until later date (specify in parentheses after task)
| U -- done, untested
| V -- done
+----
Language engine related issues
------------------------------
* Add classes support inside arrays (when there's time).
? Fix unset() to work on arrays (tricky).
D Full ASCII 0 handling (3.0b2)
D don't evaluate truth expressions more than once,
e.g. in the question-mark operator (3.0b2)
D MT-Safe parser (3.0b2 or 3.1)
D truss/strace a typical PHP request and see if there might be
some system calls we can optimize out (3.0b2)
D ISAPI support (parses files, needs thread-safety and locking)
D NSAPI support (esp. on Unix) (does not work yet)
V Implement automatic unassignment in case of errors/warnings
in array parsing, if possible.
V Fix isset() to work on array variables again.
V implement post/pre increment/decrement for strings
V eval() leaks
V look at octal support issue for chmod, umask, mkdir (others?)
V Merge array and regular variable rules (when there's time).
V showsource() function to force syntax highlighting of current script (3.0b2)
V Ignore # as the first character so we can make #!/bin/php.cgi scripts
Miscellaneous
-------------
* Go through FIXME and XXX lines (egrep 'FIXME|XXX' *.[ch] */*.[ch])
* make logging (functions/log*.c) be a static/dynamic extension
* throw away unused ereg_replace backreferences
* clean up _php3_regreplace to not allocate memory so wildly
* move to automake
* use libtool
* documentation (esp. for changed and new features)
* user-level flock() implementation to let people lock and unlock files
* move Treatdata() to language-scanner.lex where hash_environment()
is called including a decision about priority of variables and moving
Treatdata() to use hash_add() instead of hash_update() for insertions
to the symbol table.
D PHP2->PHP3 conversion script (3.0b2)
D SSI->PHP3 conversion script (3.0b2)
D change gd.c to not use fork() so it can be ported to windows (sometime)
D Remove hard-coded compilation options (3.0 final)
V Apache 1.3 automatic module configuration integration
V command-line options (Stig)
Functionality and migration from PHP 2.0
----------------------------------------
P sybase support (Rasmus)
P Large objects support in PostgreSQL (Jouni)
P oracle support - should use list management (Stig)
P ODBC support (needs to be converted to use PHP3's resource list)
P post.c - needs PHP_TRACK_VARS code (Rasmus)
P finish the sample calendar dl (shane; I may add mayan functions at some point)
U solid support (Stig)
U adabasd support
U filepro support (both win and unix)
U gd support
* illustra support (APIS)
* info.c from php2
* go through all functions and look at PHP_SAFE_MODE issues
* go through PHP2's php.h and see how each special #define might be
applied/supported in PHP3
* go through all PHP2 Apache php* configuration directives and make
sure they are supported in PHP3
* have a look at return codes of fsockopen() function - we should
probably RETURN_FALSE and then set an error code somewhere (Rasmus)
* look at what the functions in functions/filestat.c return in the
case of errors (Rasmus)
? CQL++ support (http://www.cql.com/)
? GNU SQL support (does anybody actually use this?)
? Shore support (http://www.cs.wisc.edu/shore/)
? LDAP support (Amitay and Ian have expressed interest in this one)
? PGP Interface
? more Perl-like regex handling?
? sql-based access logging (start with functions/log_sql.c) (taking it out?)
D gd support for windows
D locale issues - funny things happen in PHP2 when the locale is set to
use , instead of . as the decimal seperator. ie. 1.5+1.5 = 1 (3.0b2)
V exec.c migration
V correct handling of HEAD requests
V mSQL support (Zeev)
V MySQL support (Zeev)
V PostgresSQL support (Zeev)
V oracle support - Ora_Error(), Ora_ErrorCode() and column access by name (Stig)
V back-reference support (\1 \2 \3) in ereg_replace (Jim)
V snmp support - implemented as an extension
Windows specific stuff
----------------------
D export any module that requires a non-standard external library to a dl
function library. (ie. mysql, msql, oracle, sybase, etc) This will
elliminate the necessity for mulitple compiles of various configurations.
D Compile with C++ to ensure we can do MT in order for us to support
being compiled with VC++ on NT to create an ApacheNT module
(I have been able to compile on NT using multithreaded libraries,
I don't think that means we're thread safe though ;-) Shane )
(may not be right approach to handle MT support? delayed indefinitely.)
(so long as thread-safe on unix, should be same on nt)
D port user and group functions for windows NT. These will probably
not work on windows 95 irregardless. This will require someone with
access to a windows nt environment to test. Some of these functions
are semi-ported. Need to do additional work in win32/pwd.c to make them
actualy do something usefull on winnt systems.
D Finish syslog-eventlog implementation. Need someone to test on nt.
NSAPI/ISAPI Modules related
---------------------------
(NOTE: while I am going to continue to compile against updates, and get
modules to parse, they cannot be ready until thread-safety is done.)
* De-M$ isapi.c
D identify and seperate module globals, and thread globals into
seperate functions for easier implementation of server modules.
D get blocking functions for ISAPI
D cookie code for isapi and nsapi needs to be done
D check post code for nsapi
D create defines for malloc, free, etc (inside the e*()) so that
we can use netscapes memory functions in the nsapi module.
D migrate apache stuff to fill and use environment information. Will help
reduce #if's.