It's a bit confusing how the "keyinfo" for a key returns "can_sign".
If you have only added your Public Key, it will indicate "can_sign" for the key in "keyinfo", but that doesn't mean yet, that you can sign with the key. You will also need to add your Private Key to actually make signing work.
(PECL gnupg >= 0.1)
gnupg_sign — Signs a given text
The gnupg identifier, from a call to gnupg_init() or gnupg.
The plain text being signed.
On success, this function returns the signed text or the signature.
On failure, this function returns
Example #1 Procedural gnupg_sign() example
$res = gnupg_init();
$signed = gnupg_sign($res, "just a test");
Example #2 OO gnupg_sign() example
$gpg = new gnupg();
$gpg -> setsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = $gpg -> sign("just a test");