cURL + Laravel Valet + dnsmasq не работает - PullRequest
0 голосов
/ 14 февраля 2019

когда я выполняю скрипт PHP, который запускает запрос cURL к домену .test, который настроен на моем Mac с Laravel Valet / dnsmasq, я получаю такую ​​ошибку:

Не удалось разрешить:mydomain.test (имя домена не найдено)

Когда я проверяю домен в своем браузере, все в порядке.
Когда я запускаю curl -Ik https://mydomain.test в Терминале, я получаю код HTTP / 2 200, так что все в порядке.
Когда я запускаю curl -k https://mydomain.test в Терминале, я получаю исходный код страницы, так что все в порядке.

Почему он не работает с cURL из PHP?Я в отчаянии ...

ОБНОВЛЕНИЕ

В связи с популярным спросом ;-) вот мой код cURL.Вы не можете сделать более простым:

try {
    $ch = curl_init( "http://mydomain.test" );
    curl_exec( $ch );
    dump(curl_error($ch));
    curl_close( $ch );
} catch (Exception $e) {
    var_dump($e);
}

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

.... После перезапуска php увидит curl, который является / usr / bin / curl, и эта версия может получить доступ к локальному домену.

После перезапуска также valet: перезагрузка valet

0 голосов
/ 27 февраля 2019

Эта проблема вызвана версиями curl, вы можете проверить свои версии curl с терминала по

curl --version и php --ri curl

Когда вы запустите php --ri curl, вы увидите cURL Information => 7.63.0 эта строка.

Затем вы можете сравнить свои версии, и вы увидите, какая версия curl не работает с dnsmasq.

Я столкнулся с этой проблемой, и моя версия curl была 7.64.0 в php.


Для решения этой проблемы:

Вы можете удалить curl-openssl , эта команда удалит последнюю версию curl-openssl:

brew uninstall curl-openssl --ignore-dependencies

Затем перезапустите php:

brew services restart php

После перезапуска php увидит curl, равный /usr/bin/curl, и эта версия может получить доступ к локальному домену.

...