Summary
You are seeing a cURL timeout (error 28) while the Aspose Words Cloud PHP SDK tries to obtain an access token. This usually means the SDK cannot reach api.aspose.cloud over HTTPS from your server.
Why it happens
The SDK uses the BaseUrl (host) configured in its settings. If the BaseUrl is missing, mistyped, or points to a non‑default endpoint, the request to the token service will fail.
Even with a correct BaseUrl, firewalls, proxy settings, DNS problems, or other network restrictions can block outbound traffic to api.aspose.cloud on port 443, causing the timeout.
Because the error occurs before any HTTP response is received, it is not an Aspose server‑side error.
What to do next
Verify the BaseUrl
Ensure the SDK is configured to use the default endpoint `
If you have overridden the BaseUrl, reset it to the default value.
Test connectivity from the server
curl -v
You should see DNS resolution, TLS handshake, and a 401 Unauthorized (or similar) response because no credentials are supplied. If the command also times out, the issue is network‑level.
Check proxy and firewall settings
Look for environment variables such as http_proxy, https_proxy, and no_proxy.
Confirm that outbound HTTPS traffic to api.aspose.cloud:443 is allowed by any firewall or security appliance.
Validate DNS resolution
nslookup api.aspose.cloud
The returned IP addresses should belong to Aspose’s public cloud service and not be overridden by a custom hosts entry.
Review recent infrastructure changes
Ask your operations team whether any recent changes (firewall rule updates, SSL‑inspection devices, routing modifications, etc.) could affect outbound connections to Aspose.
Retry after adjustments
Once the BaseUrl is correct and the network path is confirmed, run your PHP code again. The SDK should be able to obtain the access token and proceed with the Word‑processing operations.
If the timeout persists after these checks, capture the full curl -v output (including DNS lookup and TLS handshake details) and share it with your network/security team for deeper investigation.
I could not fully verify this explanation against the retrieved sources. Please double-check the behaviour in your environment and confirm the exact SDK/version.