PHP'yi bir CGI programı olarak derlemek öntanımlıdır. Bu sayede HTTP sunucuda çalışmayacak betikleri yorumlamak için veya CGI işlemleri için kullanılabilecek bir komut satırı yorumlayıcısı oluşturulmuş olur.PHP'nin bir modül olarak çalıştığı bir HTTP sunucusu genellikle başarım sorunlarına bir çözüm olarak kullanılır. Bununla birlikte, CGI sürümü, farklı PHP sayfalarını farklı kullanıcı kimlikleriyle çalıştırabilme imkanı sunar.
CGI kipinde çalışan bir sunucu olası saldırılara açık hale gelir. Sunucunuzu böyle saldırılardan nasıl koruyacağınızı öğrenmek için CGI güvenliği bölümünü okuyunuz.
PHP 4.3.0 ve sonrasında, PHP'ye bazı önemli eklemeler yapıldı. Ayrıca, CGI çalıştırılabiliri ile aynı isimde çalıştırılabilire sahip CLI adında yeni bir SAPI geldi. {PREFIX}/bin/php çalıştırılabilirinde kurulu olan şeyler yapılandırmanızı nasıl yaptığınıza bağlıdır ve bu, PHP'nin komut satırından kullanımı bölümünde ayrıntılı olarak açıklanmıştır.
PHP'yi bir CGI programı olarak derlediyseniz, derlemenizi make test komutunu vererek sınayabilirsiniz. Derlemenizi sınamak daima iyidir. Bu yolla sonradan karşılaşabileceğiniz sorunları daha ortaya çıkmadan yakalama şansınız olur.
Bazı sunucu kaynaklı ortam değişkenleri geçerli » CGI/1.1 belirtiminde tanımlanmamıştır; sadece şu değişkenler tanımlıdır: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL ve SERVER_SOFTWARE. Bunların dışında kalan herşey 'üretici eklentileri' olarak ele alınmalıdır.