This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Pre-ITP: apache/mod_php


Brian Dessent schrieb:
Igor Pechtchanski wrote:
B) Compiled in cygphp4.dll (bundled libs) / won't work shared:
bcmath, calendar, dba (gdbm, cdb, cdb_make, inifile, flatfile), dbase,
dbx, dio, exif, filepro, ftp, mysql, pcre, xml

This may be a naive question, but why can't they work as shared libs? I've found that the main problem with dlopen()ing shared libs that depend on other shared libs is that the other shared libs have to be in the PATH. Is there anything beyond that that's required?

I had thought of that one.  All the extension DLLs are linked against
the main cygphp4.dll, which itself is not in the path; it lives in
/usr/lib/apache/.  I tried adding that to the path of the service using
cygrunsrv, but I still got the errors.  I suppose I never tried putting
/usr/lib/php4/20020429/ (the dir where the extensions are stored) in the
path - but doesn't the Windows .DLL search order go: "cwd, directory of
.dll, path"?

no please, this will not work. cygphp4.dll must be in /usr/bin/ that must be the reason why some of your extensions didn't work.

mod_php4.dll could go to /usr/lib/apache/
cygphp4.dll is also required by all other sapi modules:
php-cli.exe, php-cgi.exe, the libhttpd php sapi module, ...

it should be in the directory of the master process
(in our case /usr/sbin/ for httpd and /usr/lib/php/bin/ for cgi) or in the path.


Since setup doesn't support subcategories, an artificial grouping using
the "apache-" prefix is preferable (unless the package truly is
independent).  I'd also prefer "apache-mod_php4" to "apache-php4", since
it reflects what other distributions call it, and allows a separate
distribution of command-line php4 with CGI bindings for apache as
"apache-php4".  Since setup is now resizable, don't worry too much about
longer package names.

Yes, I do like the idea of having all the related packages grouped together with the Apache prefix, so I think I agree that "apache-mod_php4", "apache-mod_ssl", and so on are good choices. Good point also about leaving "apache-php4" for a CGI version.

ok. but please don't forget the cli also. the cli is very good to catch errors, very useful for quick-n-dirty scripting, and it is required for pear to work.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]