Tworzę klasę PHP, która obsługuje trochę ruchu za pomocą CURL i wszystko działa całkiem dobrze (z wyjątkiem ciasteczek, ale hej to kolejna rzecz). Jedną rzeczą, która nie działa, że wielka jest funkcja curl_close() i choć nie mam pojęcia dlaczego ...curl_close(): nie jest prawidłowym zasobem obsługi cURL ... ale DLACZEGO?
$curlSession = &$tamperCurl->getCURLSession();
var_dump($curlSession);
curl_close($curlSession);
die();
ja wcześniej nazywana curl_exec() i wszystko działało idealnie. Wyjście to daje mi to: zasobu (6) typu (curl)
Ostrzeżenie: curl_close(): 6 nie jest ważny zasób uchwyt cURL w filename.php na linii
Czy ktoś ma pojęcie, dlaczego tak się dzieje? (var_dump mówi, że to oczywiście sesja curl).
Ponadto:
powodu problemów autorskimi nie mogę pisać cały TamperData klasy ATM (to będzie później GPL).
I uproszczony go na:
$tamperCurl = new TamperCurl('test.xml');
echo var_dump($tamperCurl->getCURLSession());
curl_close($tamperCurl->getCURLSession());
die();
Konstruktor TamperCurl jest tak:
public function __construct($xmlFilePath, $options=null)
{
if($options != null) $this->setOptions($options);
$this->headerCounter = 0;
$this->setXMLHeader($xmlFilePath);
$this->init();
}
public function init($reuseConnection=false,$resetSettings=null)
{
$this->curlSession = curl_init();
}
takie samo Wydajność: źródło (8) typu (ta) PHP Ostrzeżenie: curl_close(): 8 nie jest prawidłowym zasobem obsługi cURL w TamperCurl.php na linii 58
Spróbuj usunąć '&' z wywołania metody. – ThiefMaster
@Briedis - nie jest wskaźnikiem. A co jest ze znakami zapytania? Jeden wystarczy ... –
Ok wskaźnik może być nieco mylący, ale wychodzi z klasy. Gdybym nie używał odniesienia, byłby po prostu skopiowany w instrukcji return funkcji get. Pozostawienie rzeczywistej zmiennej instancji obiektu nietkniętej. (Przynajmniej tak to właśnie się dzieje). Nie ma znaczenia, czy robię to z lub bez odniesienia. Nawet ta funkcja wewnątrz klasy nie działa na tych samych powodów, jak określono powyżej: (! $ This-> curlSession = null) \t public function() __destruct \t { \t \t jeśli curl_close ($ this-> curlSession) ; \t} – shokora