Archív

Příspěvek oštítkován ‘zend framework’

Jak na výpadek služby Twitter při použití Zend_Service_Twitter

06.08.2009 View Comments

Během dneška (6.8.2009) byl výpadek služby Twitter a koukal jsem, že mi to položilo php-frameworks.net na kolena.

Jak jsem se zjišťovat co s tím a proč mi to hlásí:

Zend_Http_Client_Adapter_Exception: Unable to Connect to tcp://twitter.com:80. Error #110: Connection timed out in /srv/lib/php/Zend/Http/Client/Adapter/Socket.php on line 213

Tento kód nějak selhal a výpadek nastal dříve, asi to vypadá na nějakou chybu v Zendu, protože se Zend_Service_Twitter_Exception nevrátí i při výpadku spojení jak jsem očekával.

try {
	$twitter = new Zend_Service_Twitter($config->twitter->username, $config->twitter->password);
} catch (Zend_Service_Twitter_Exception $e) {
	$this->logger->err("Exception caught importing twitter: {$e->getMessage()}\n");
}

Řešení je otestovat vlastní připojení předem ke kterému jsem se nakonec uchýlil.

		// Testing connect to twitter
		try {
		$client = new Zend_Http_Client('http://twitter.com', array(
			'maxredirects' => 0,
			'timeout'      => 5));
		$response = $client->request();
		} catch (Zend_Http_Client_Adapter_Exception $e) {
			$this->logger->err("Exception caught connect twitter: {$e->getMessage()}\n");
		}

		// if have $response try connect twitter
		if (isset($response)) {
			try {
				$twitter = new Zend_Service_Twitter($config->twitter->username, $config->twitter->password);
			} catch (Zend_Service_Twitter_Exception $e) {
				$this->logger->err("Exception caught importing twitter: {$e->getMessage()}\n");
			}
			if (isset($twitter)) {
			$response = $twitter->status->friendsTimeline(array("count" => $config->twitter->count));
			$this->view->twitter = $response;
			} else {
			$this->view->twitter = null;
			}
		}
Categories: php Tags: ,

Zend Server CE a vlastni logy v konzoli

05.05.2009 View Comments

Zend Server 4.0.2

Zend aktualizoval Zend Server na verzi 4.0.2, přidána hlavně podpora pro ZF 1.8 a další drobné změny. Jen mi z repozitory pro Ubuntu nefunguje Zend_Tool, doufám, že tuto drobnost brzo opraví zatím ji stejně s Zend Studiem moc nevyužiji.

Update 6.5.2009 po mém upozornění dnes Zend provedl update ZF 1.8 v repozitory pro Zend Server CE a už to funguje, soubor najdete v /usr/local/zend/share/ZendFramework/bin/zf.sh. Doporučuji si udělat symlink nebo přidat adresář do $PATH.

Zend Debbuger a PHPUnit

Jen mi trochu vadí, že kvůli code coverage a dalším možnostem co má PHPUnit s Xdebugem jsem nucen vypnout Zend Debugger v Zend Serveru a dát si tam Xdebug. Zend Debugger má sice tyto možnosti k dispozici přes Zend Studio, ale pokud to voláte z Antu tak jsem nepřišel na to jak rozchodit PHPUnit a Zend Debugger dohromady.

Logy

Pokud chcete na konzoli Zend Serveru vidět další logy. Konfigurační soubor je /usr/local/zend/gui/application/data/logfiles.xml. Logy je dobré směrovat do /usr/local/zend/var/log/. Pomocí symlinků si přidejte do tohoto adresáře logy, které jsou uloženy v /var/log/apache2/.



	
		PHP Error Log
		
                error_log
	
	
		Server Error Log
		/usr/local/zend/var/log/error.log
                
	
	
		Server Access Log
		/usr/local/zend/var/log/access.log
                
	
        
                Server Workspace Access Log
                /usr/local/zend/var/log/access-workspace.log
                
        
        
                Server Workspace Error Log
                /usr/local/zend/var/log/error-workspace.log
                
        


Pokud budete mít problémy s právy nazapomeňte přidat uživateli zend práva na čtení potřebných logů a práva r+x na adresář /var/log/apache2, kde je máte uložené.

Potom by jste v konzoli měli vidět toto.

zend-server_1241527431260

Categories: php Tags: ,

Switch to our mobile site