Устранение неполадок cURL в Ubuntu 11.10 - PullRequest
3 голосов
/ 30 декабря 2011

Я установил curl:

sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

и я обновил свой файл php.ini, включив в него:

extension=php_curl.dll

Я проверяю, работает ли curl с помощью следующей команды:

php -i | grep curl

и я получаю следующее сообщение:

Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php5/20090626+lfs/php_curl.dll' - /usr/lib/php5/20090626+lfs/php_curl.dll: не удается открыть общий объект file: Нет такого файла или каталога в Unknown в строке 0 Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php5/20090626+lfs/sqlite.so' - /usr/lib/php5/20090626+lfs/sqlite.so: невозможно открыть файл общего объекта: нет такой файл или каталог в Unknown в строке 0 Проанализированы дополнительные файлы .ini => /etc/php5/cli/conf.d/curl.ini, локон

Я также протестировал curl, создав файл testCurl.php, который содержит следующее:

<code><?php
echo ‘<pre>’;
var_dump(curl_version());
echo ‘
»; ?>

Когда я перехожу к localhost / testCurl.php, я получаю сообщение об ошибке: Ошибка HTTP 500

Может кто-нибудь помочь мне заставить работать локон?

Ответы [ 3 ]

7 голосов
/ 30 декабря 2011

Вы указали неверную информацию в своем php.ini

extension=php_curl.dll

В Ubuntu / Unix это

extension=php_curl.so

.so означает Общий объект ,это динамическая библиотека , о которой говорится в сообщениях об ошибках.В Windows, которая является .dll, вы, вероятно, просто смешали это.

И, похоже, вы пытаетесь загрузить sqlite.so, который не существует.Обычно вам не нужно менять свой файл php.ini при установке библиотек в Ubuntu через apt, потому что сценарии пакетов позаботятся об этом благодаря работе сопровождающих пакетов.

1 голос
/ 30 марта 2018

Если вы используете Ubuntu или имеете несколько php.ini, вы можете столкнуться с проблемой включения extension = php_curl.dll.

Любопытно, но я столкнулся с этой проблемой при использовании UBUNTU. По какой-то причине он вызывал файл .dll, но linux использует .so файлы.

Первое, что нужно сделать, это echo phpinfo (); в файле .php, чтобы проверить, что загружается php.ini.

Файл конфигурации (php.ini) Путь /etc/php/7.1/apache2 Загруженный файл конфигурации /etc/php/7.1/apache2/something/php.ini

Так что, если вы измените только один файл, это может не дать правильного эффекта.

В моем случае whas в /etc/php/7.1/apache2/php.ini и CURL вызывали так: ; Расширение = curl.dll

Изменить на расширение = curl.so

Сохраните и перезапустите apache: sudo systemctl перезапустить apache2

0 голосов
/ 09 января 2012

Поддержка sqlite2 удалена из php5, я думаю, поэтому sqlite.so больше не доступен в текущей версии пакета. Вы можете вручную восстановить его из пакетов natty (это сработало для меня):

  • Загрузите старый пакет отсюда: http://packages.ubuntu.com/natty-updates/php5-sqlite
  • Экстракты sqlite.so
  • Переместить sqlite.so (+ pdo_sqlite.so) в / usr / lib / php5 / 20090626 + lfs /
  • Изменить права доступа к файлу root: root

(https://lists.ubuntu.com/archives/ubuntu-server-bugs/2011-October/065547.html)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...