Поскольку он автоматически генерируется: он генерируется из других файлов, которые можно редактировать.
Как насчет этого?
find "`php-config --extension-dir`" -name "*.so" | sed 's!^.*/!extension=!'
Для каждой строки SED
будет соответствовать самой длинной строке, которая начинается в начале ( ^
) и заканчивается на /
. Он всегда будет сочетать все, включая последнюю /
/
, потому что это жадный матч, то есть, он будет сопоставить все , но имя файла. Затем он заменяет это с расширением =
.
Это заканчивается так:
$ find "`php-config --extension-dir`" -name "*.so" | sed 's!^.*/!extension=!'
extension=pdo_pgsql.so
extension=pdo_sqlite.so
extension=mysqlnd.so
extension=mysqli.so
extension=enchant.so
extension=pgsql.so
extension=mysql.so
extension=pdo_odbc.so
extension=odbc.so
extension=curl.so
extension=pdo.so
extension=pdo_mysql.so
extension=sqlite3.so
, который, кажется, что вы хотите.
SED
должен быть доступен везде, потому что это часть стандарта POSIX.
Если у вас есть GNU find
, вы можете использовать -printf
option
find `php-config --extension-dir` -name "*.so" -printf 'extension=%f\n'