Bunun elbette birkaç nedeni olabilir. Biz bu makale de en çok rastlanabilecek olanları sıralayalım.
- Kısa php taglarının devre dışı olması <? ile başlayan dosyalarınızın çalışmamasına neden olacaktır. Bunu anlamak için test.php diye bir dosya oluşturun ve içerisine;
<? echo "Merhaba Dünya!"; ?>
yazın ve siteniz.com/test.php bağlantısına gidin. Eğer ekranda Merhaba Dünya! yazmıyorsa şu adımları izleyin;
php.ini dosyanızı bulmak için ssh üzerinden şu komutu yazın.
php -i | grep php.ini
Şöyle bir çıktı alacaksınız,
Loaded Configuration File => /etc/php.ini
Dosyamız /etc dizinindeymiş. Şimdi bu dosyayı açalım. İster nano editör ile ssh üzerinden açabilirsiniz, isterseniz de ftp den de açabilirsiniz. Ftp ile açarken 22 portundan bağlanmayı unutmayın.
Ssh ile açmak için,
nano /etc/php.ini
Daha sonra içerisinde şu satırı bulun;
short_open_tag = off
off etiketini on yaparak php de kısa tagları aktif edebilirsiniz.
Daha sonra php ve web sunucunuzu yeniden başlatın.
sudo service php-fpm restart
Apache için;
sudo service httpd restart
Nginx için;
sudo service nginx restart
- Php web sunucunuz için yapılandırılmamış olabilir. Yani bağlantı çubuğuna domain.com/kayit.php yazdığınızda sayfa açılmak yerine .php dosyasını bilgisayarına indiriyor ise web sunucunuz php ‘yi tanımıyor demektir.Nginx için;
nano /etc/nginx/nginx.conf
ile conf dosyasını açtıktan sonra server { ile başlayan kısmı bulun. Aşağıdaki gibi görünecektir.
server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; #Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
Burayı komple silip bunun yerine,
server { listen 80; server_name önceki dosyada burada ne yazıyorsa_genelde ip adresiniz; charset UTF-8; access_log /var/log/nginx/personalsite.access.log main; error_log /var/log/nginx/personalsite.error.log; root /usr/share/nginx/html; index index.php index.html index.htm; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Bu kodları yapıştırın. server_name yerine domainizi veya ip adresinizi koyun. Daha sonra nginx ‘i yeniden başlatın.
sudo service nginx restart
- Php web sunucunuz için yapılandırılmamış olabilir. Yani bağlantı çubuğuna domain.com/kayit.php yazdığınızda sayfa açılmak yerine .php dosyasını bilgisayarına indiriyor ise web sunucunuz php ‘yi tanımıyor demektir.Nginx için;