Search code examples
phpnginxvbulletin

nginx + vbulletin 500 error on login


So, I'm launching a community soon an im running forum software vBulletin. But I have a strange issue and I cant figure out what it is.

I setup the vbulltin forum locally on my computer fine. My environment is nginx 1.9.13, php 5.6.9, vBulletin 4.2.3.

I setup the web server the exact same way, I packed up my nginx directory and uploaded it to the server. Downloaded php 5.6.20 (latest version). Imported the database, Site is up, great. I go to login and i get 500 error. there is nothing being stored in the error logs either. I tried with different versions of php even the same version as my local still 500 error on a post request to login.

My nginx config

worker_processes  4;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  8096;
    multi_accept on;
    #use epoll; # not supported on windows
}
worker_rlimit_nofile 40000;

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    access_log off;
    error_log I:\\webServer\\nginx\\logs\\error.log;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 15;
    types_hash_max_size 2048;
    #server_tokens off;

    server_names_hash_bucket_size 64;

    gzip on;
    gzip_static on;
    gzip_min_length 1024;
    gzip_proxied expired no-cache no-store private auth;
    gzip_types text/html text/plain text/css text/xml text/javascript application/atom+xml application/javascript application/json application/rss+xml application/xml+rss application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/x-component;
    open_file_cache          max=2000 inactive=20s;
    open_file_cache_valid    60s;
    open_file_cache_min_uses 5;
    open_file_cache_errors   off;

    server {
        listen       80;
        server_name  localhost;
        root "I:\\webServer\\nginx\\www\\root";
        charset utf-8;


        location / {
            rewrite ^/((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ /dbseo_getsitemap.php?sitemap=$1 last;
            try_files $uri $uri/ /dbseo.php?$args;
            #try_files $uri $uri/ /index.php?$query_string;
            index  index.html index.htm index.php;
        }

        error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   www;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9123;
            fastcgi_index  index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
            fastcgi_intercept_errors off;
            fastcgi_buffer_size 128k;
            fastcgi_buffers 256 16k;
            fastcgi_busy_buffers_size 256k;
            fastcgi_temp_file_write_size 256k;
            fastcgi_connect_timeout 60;
            fastcgi_send_timeout 60;
            fastcgi_read_timeout 60;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny  all;
        }
    }
    client_max_body_size 20M;
}

The only things that is majorly different is the OS (windows server 2008 r2) and the MySQL database, and the MySQL shows no errors either.

I think the problem mite be with all POST requests but since the only post request I can do as a guess is login I cant verify if its isolated to login.php or all POST requests.


Solution

  • Update: I got it to work, I forgot to enabled php_openssl.dll extension. vBulltin uses this to salt passwords.

    Posting for reference for anyone else who may encounter this issue.