Я включил PHP 5.3.2 и Apache 2.2.14 в моей установке Mac OS X Snow Leopard и подтвердил, что я подключаюсь к нему с помощью вызова phpinfo ();
При первоначальном запускеПохоже, что загружаются ВСЕ возможные расширения, так как вызов print_r (get_loaded_extensions ()) подразумевает:
Array
(
[0] => Core
[1] => date
[2] => ereg
[3] => libxml
[4] => openssl
[5] => pcre
[6] => sqlite3
[7] => zlib
[8] => bcmath
[9] => bz2
[10] => calendar
[11] => ctype
[12] => curl
[13] => dom
[14] => hash
[15] => fileinfo
[16] => filter
[17] => ftp
[18] => gd
[19] => session
[20] => iconv
[21] => json
[22] => ldap
[23] => mbstring
[24] => standard
[25] => mysqlnd
[26] => SPL
[27] => odbc
[28] => mysqli
[29] => PDO
[30] => pdo_mysql
[31] => pdo_sqlite
[32] => Phar
[33] => posix
[34] => Reflection
[35] => mysql
[36] => shmop
[37] => SimpleXML
[38] => snmp
[39] => soap
[40] => sockets
[41] => SQLite
[42] => exif
[43] => sysvmsg
[44] => sysvsem
[45] => sysvshm
[46] => tokenizer
[47] => xml
[48] => xmlreader
[49] => xmlrpc
[50] => xmlwriter
[51] => xsl
[52] => zip
[53] => apache2handler
)
Когда я редактировал php.ini.default и создал / private / etc / php.ini, я закомментировал все доступные расширения, чтобы предотвратить загрузку (сейчас я просто пытался получить базовый уровень).Даже после перезапуска Apache с новой информацией php.ini все расширения все еще загружаются.Я предполагаю, что, поскольку никакие расширения не загружаются явно, PHP реагирует так же, как если бы у меня не было php.ini.
Меня удивляет то, что когда я пытаюсь найти библиотечные файлы, связанные с«загруженные» расширения, я могу найти NONE!Я искал весь мой жесткий диск как пользователь root, ища какие-либо следы файлов библиотеки * .so и не нашел ни одного (например: call to find / -name ' mysql ' не возвращает файлов с расширением phpбиблиотеки).И есть только один файл * .so в каталоге / usr / lib / php / extensions / no-debug-non-zts-20090626, указанный как extension_dir для php.Почему php говорит, что это успешно загружает их тогда?
Вот пример расширения gd из phpinfo () в качестве примера: http://www.concentricsoft.com/downloads/phpinfo_sc1.jpg
Я подтвердил, что изменения, которые я внес вФайл php.ini вступил в силу: я установил error_log = в файл и могу записать в него, используя вызов error_log ($ string, 0);
Я еще не пытался запустить код, который быпопытаться использовать любое из расширений, которые, по словам php, загружены, так что я думаю, что это мой следующий шаг, но я просто хотел посмотреть, решил ли кто-нибудь еще эту проблему и если да, то как.