এনগিনেক্স। পিএফপি ফাইলগুলিকে ডাউনলোডের পরিবর্তে এগুলি কার্যকর করার পরিবর্তে পরিবেশন করে


151

আমি একটি বোঁটা (ডিজিটাল মহাসাগর) এ একটি ওয়েবসাইট ইনস্টল করছি। আমার পিএইচপি সঠিকভাবে এনজিআইএনএক্স ইনস্টল করার জন্য একটি সমস্যা আছে। আমি একটি টিউটোরিয়াল করেছি https://www.digitalocean.com/commune/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubantu-14-04 কিন্তু যখন আমি কিছু চালানোর চেষ্টা করি .pp ফাইলটি এটি কেবল এটি ডাউনলোড করছে ... উদাহরণস্বরূপ ... http://5.101.99.123/info.phpএটি কাজ করছে তবে ... আমি যদি মূল দিকে যাই তবে http://5.101.99.123এটি আমার সূচক ডাউনলোড করছে ph পিএফপি: /

কোন ধারণা?

-rw-r--r--  1 agitar_user www-data   418 Jul 31 18:27 index.php
-rw-r--r--  1 agitar_user www-data    21 Aug 31 11:20 info.php

আমার / ইত্যাদি / এনগিনেক্স / সাইটগুলি উপলব্ধ / ডিফল্ট

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/html;
        index index.html index.htm index.php;

        # Make site accessible from http://localhost/
        server_name agitarycompartir.com;

               location ~ \.php$ {
                    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #               # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #               # With php5-cgi alone:
    #               fastcgi_pass 127.0.0.1:9000;
    #               # With php5-fpm:
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_index index.php;
                    include fastcgi_params;
            }


              location / {

                    try_files $uri $uri/ =404;
                    # Uncomment to enable naxsi on this location
                    # include /etc/nginx/naxsi.rules
            }

... অন্যদের "অবস্থান" মন্তব্য করা হয়েছে (#)


4
হ্যাঁ ... আপনি সঠিকভাবে এনগিনেক্সের সাথে পিএইচপি-এফপিএম সেট আপ করেননি। আমরা আপনাকে কেবল এটিই বলতে পারি যদিও আপনি আপনার কোনও কনফিগারেশন আমাদের দেখান নি show
ব্র্যাড

আপনি কোন ফাইলটি দেখতে চান? ধন্যবাদ ব্র্যাড
অপিওরন

যে কোনও ফাইল (বা ফাইল) আপনি নিজের কনফিগারেশনটি রেখেছেন The প্রাসঙ্গিক অংশটি ... যেখানে আপনি আপনার এনগিনেক্স কনফিগারেশনে PHP-FPM সেট আপ করেছেন।
ব্র্যাড

2
একঘন্টা গুগল করার পরে এই Askubuntu.com/a/601996/89455 - এর ক্যাশে সাফ করার চেষ্টা করার আগে যদি আপনার কোনও খারাপ কনফিগারেশন থাকে - এখানে কাজ করেছেন!
tm_lv

1
এ একই প্রশ্ন / PHP7 জন্য উত্তর দেখুন stackoverflow.com/q/42664080/287948
পিটার Krauss

উত্তর:


131

এটা চেষ্টা কর:

  1. সম্পাদন করা /etc/nginx/sites-available/default

  2. পোর্ট 80 আইপিভি 4 এবং আইপিভি 6 পোর্টে এনজিনেক্স শোনার জন্য উভয়ই শোনার লাইন শোনায়।

    listen   80; ## listen for ipv4; this line is default and implied
    listen   [::]:80 default_server ipv6only=on; ## listen for ipv6
  3. server_nameএকা ছেড়ে দাও

    # Make site accessible (...)
    server_name localhost;
  4. যোগ index.phpকরার জন্য indexলাইন

    root /usr/share/nginx/www;
    index index.php index.html index.htm;
  5. Uncomment location ~ \.php$ {}

    # pass the PHP scripts to FastCGI server listening on (...)
    #
    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    
            # With php5-cgi alone:
            #fastcgi_pass 127.0.0.1:9000;
            # With php5-fpm:
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
    }
  6. সম্পাদনা করুন /etc/php5/fpm/php.iniএবং নিশ্চিত করুন cgi.fix_pathinfoযে সেট করা আছে0

  7. এনগিনেক্স এবং পিএইচপি 5-এফপিএম পুনরায় চালু করুন sudo service nginx restart && sudo service php5-fpm restart


আমি এক সপ্তাহ আগে সবেমাত্র লিনাক্স ব্যবহার শুরু করেছি, তাই আমি আপনাকে সত্যিকার অর্থে এই বিষয়ে আশাবাদী। আমি ফাইলগুলি সম্পাদনা করতে ন্যানো পাঠ্য সম্পাদক ব্যবহার করছি। অ্যাপো-গেট ইনস্টল ন্যানো না থাকলে চালান। গুগল আরও জানতে।


14
service nginx restart && service php5-fpm restart
ডিউক

8
nginx -s reload
ডিউক

2
পিএইচপি 7-এফপিএম সহ হ'ল: পরিষেবা পিএইচপি 7.0-এফপিএম পুনঃসূচনা
অ্যালেক্স

1
@ জয়, আপনার পরামর্শটি চেষ্টা করেও তা কার্যকর হয়নি। ফাস্টসিগি_পাস ইউনিক্স ব্যবহার করতে হবে: /run/php/php7.0-fpm.sock;
jdstaerk

1
পিএইচপি 7.2-এর জন্য: unix:/var/run/php5-fpm.sock;রূপান্তর করুন unix:/var/run/php/php7.2-fpm.sock;(আরও একটি /php
নীড় বাঁধতে হবে

50

এনগিনেক্স সার্ভারে পিএইচপি ফাইলগুলি সম্পাদন করতে আপনাকে এটিকে / ইত্যাদি / এনগিনেক্স / সাইটস সক্ষম / ডিফল্ট যুক্ত করতে হবে:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

SCRIPT_FILENAME কী?
mp3por

2
আপনি যদি পিএইচপি 7.0 ব্যবহার করেন, তবে এটি সঠিক:fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
অ্যান্ড্রু ফক্স

1
@ AndrewFox- আমার ফাইলের নাম হয় php7.0-fpm.pidএবং php7.0-fpm.sockএর মধ্যে /var/run/php/ কি মানে কি?
vsync

@vsync এটি চেষ্টা করুন। sudo service php7.0-fpm restart। যদি সোক অনুপস্থিত থাকে তবে এটি নির্দেশ করে যে পিএইচপি প্রক্রিয়া চলছে।
zhisme

1
@ পাথ্রোস - আমি পেয়েছি যে ওয়ার্ডপ্রেসের (আমার ক্ষেত্রে) অন্য ফোল্ডারে সার্ভার কনফিগারেশন ফাইল রয়েছে এবং সেগুলি সম্পাদনা করার দরকার ছিল/etc/nginx/conf.d/wordpress_https.conf
vsync

43

আমার অনুরূপ সমস্যা ছিল যা ব্রাউজারের ক্যাশে খালি করে সমাধান করা হয়েছিল (বিভিন্ন ব্রাউজারের সাথেও দুর্দান্ত কাজ করেছে)।


5
আমি মনে করি পুনরায় চালু এবং ছদ্মবেশী মোড আমাকে সাহায্য করেছিল। আমরা করতে পারি এমন noobness জন্য একটি টন ধন্যবাদ।
স্বপ্নিল মহাস্কে

4
অনেক ধন্যবাদ. আপনি আমার দিন সংরক্ষণ করেছেন) এছাড়াও ছদ্মবেশের জন্য +1!
এডি

3
এটি আমার জন্য তৈরি হয়েছিল, এছাড়াও কয়েক ঘন্টা পরে পরামর্শ দেওয়া অন্যান্য সমাধানের প্রচুর চেষ্টা করে।
ক্লাইগ

1
এটা আমার কাছে আশ্চর্যের বিষয় ছিল যে আমার সাইটটি আইই এবং ক্রোমে কাজ করেছিল যখন মজিলায় এটি কার্যকর করার সময় সাইটটি ডাউনলড করে। এটি মজিলার ক্যাশে দোষ ছিল।
ভিক্টর জোরাস

3
আপনি আমার সময় বাঁচিয়েছেন।
আমির কাফতারি

12

Nginx কনফিগারেশন / ইত্যাদি / nginx / সাইটগুলি উপলব্ধ / ডিফল্ট বা আপনার কনফিগার ফাইল আপডেট করুন

যদি আপনি পিএইচপি 7 ব্যবহার করেন তবে এটি ব্যবহার করুন

    location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;      
    }

আপনি যদি পিএইচপি 5 ব্যবহার করেন তবে এটি ব্যবহার করুন

    location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php5-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
    }

বিস্তারিত এখানে বিস্তারিত বিশদ জন্য এখানে যান


আমি চেষ্টা করেছি এটি আমার জন্য কাজ করে না, আমি উবুন্টু 14.04 এবং পিএইচপি 7.0 ব্যবহার করছি কীভাবে আমি এই সমস্যাটি সমাধান করতে পারি?
কিশোর

উপরের ভাগ করা লিঙ্ক "সম্পূর্ণ বিবরণ" নষ্ট হয়েছে
কিশোর

মানে কী include snippets/fastcgi-php.conf;?
টিমো

9

আমি উপরে অনেকগুলি সমাধান দেখতে পেয়েছি এবং অনেকেই আমার জন্য সঠিকভাবে কাজ করেছে, তবে আমি বুঝতে পারছিলাম না তারা কী করছে এবং কেবল কোডটি আটকানো, বিশেষত, ফাস্টসিগি নিয়ে চিন্তিত হয়েছিল । সুতরাং এখানে আমার 2 সেন্ট,

  1. এনগিনেক্স একটি ওয়েব সার্ভার (এবং কোনও অ্যাপ্লিকেশন সার্ভার নয় ) এবং এটি কেবল স্থির পৃষ্ঠাগুলি পরিবেশন করতে পারে।
  2. যখনই, আমরা একটি। php ফাইল রেন্ডারিং / ফেরত দেওয়ার চেষ্টা করি, উদাহরণস্বরূপ index.php, nginx কী করতে হবে তা জানে না, কারণ এটি কেবল একটি। পিএফপি ফাইল বুঝতে পারে না (বা এই ক্ষেত্রে নির্বাচিত কয়েকটি বাদে কোনও এক্সটেনশন বাদ দেওয়া যায় না) যেমন .html, .js ইত্যাদি যা স্থির ফাইল)
  3. সুতরাং অন্যান্য ধরণের ফাইল চালনার জন্য আমাদের এমন কিছু দরকার যা এনজিনেক্স এবং অ্যাপ্লিকেশন (এখানে পিএইচপি অ্যাপ্লিকেশন) এর মধ্যে বসে থাকে need এখানেই সাধারণ গেটওয়ে ইন্টারফেস (সিজিআই) আসে It's এটি একটি সফ্টওয়্যারই এই যোগাযোগ পরিচালনা করে। সিজিআইগুলি যে কোনও সম্ভাব্য ভাষায় পাইথন (ইউডাব্লুএসজিআই), পিএইচপি (এফপিএম) এবং সি সি ফাস্টসিজিআই মূলত সিজিআইয়ের একটি আপগ্রেড সংস্করণ যা সিজিআইর চেয়ে অনেক দ্রুতগতি সম্পন্ন হয় implemented

কারও কারও কাছে অ্যাপাচি-এর মতো সার্ভারগুলি পিএইচপি ব্যাখ্যা করার জন্য তৈরি করা হয়েছে এবং এভাবে কোনও সিজিআইয়ের প্রয়োজন নেই।

এই ডিজিটাল সমুদ্রের লিঙ্কটি , এফপিএম ইনস্টল করার পদক্ষেপগুলি বেশ ভালভাবে ব্যাখ্যা করে এবং আমি পিএইচপি ফাইলগুলি ডাউনলোড করার সমস্যা সমাধানের জন্য প্রয়োজনীয় পদক্ষেপগুলি লিখছি না অন্য উত্তরগুলি থেকে উত্তর দেওয়ার পরিবর্তে আইএমএইচও খুব ভাল।


ভাল ব্যাখ্যা। ধন্যবাদ।
জন

1
nginx একটি ওয়েব সার্ভার যা ব্রাউজার নয়, দয়া করে এটি ঠিক করুন।
জিওকোড

8

আমার একই সমস্যা ছিল এবং উত্তরের কোনওটিরই সমস্যার সমাধান হয়নি।

আমি দৌড়েছি:

sudo nginx -t

কনফিগারেশন ফাইল পরীক্ষা করতে / ইত্যাদি / এনগিনেক্স / সাইট-উপলব্ধ / ডিফল্ট।

এটি আমাকে এই ত্রুটিগুলি দিয়েছে:

nginx: [emerg] unexpected end of file, expecting "}" in /etc/nginx/sites-enabled/default:115
nginx: configuration file /etc/nginx/nginx.conf test failed

সুতরাং আমি কনফিগার ফাইলে গিয়েছিলাম এবং শেষ লাইনে ছিল

#}

আমি নিঃশর্ত, আবার পরীক্ষা কমান্ড চালানো এবং এটি কার্যকর


সমস্যাটি সংশোধন করার পরামর্শ ছাড়াও টেস্ট-কমান্ড সিনট্যাক্সটি অন্তর্ভুক্ত করার জন্য দুর্দান্ত স্পর্শ।
গ্রেইবার্ড

7

এটা আমার জন্য কাজ।

1) মাই অ্যাপ ফাইল

vi / ইত্যাদি / nginx / সাইটগুলি উপলব্ধ / মাই অ্যাপ্লিকেশন

server {
  listen 80;
  listen [::]:80;

  root /var/www/myApp;
  index index.php index.html index.htm;

  location ~ \.php$ {
      try_files $uri =404;
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      fastcgi_pass unix:/run/php/php7.0-fpm.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi_params;
      }
}

পিএইচপি 5 ব্যবহারকারী

পরিবর্তন

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

প্রতি

fastcgi_pass unix:/var/run/php5-fpm.sock;

2) সিজি.ফিক্স_পথিনফো কনফিগার করুন

Cgi.fix_pathinfo 0 এ সেট করুন

অবস্থান:

পিএইচপি 5 /etc/php5/fpm/php.ini

পিএইচপি 7 /etc/php/7.0/fpm/php.ini


3) পরিষেবাগুলি পুনরায় চালু করুন

FPM

PHP5 sudo service php5-fpm restart

php7 sudo service php7.0-fpm restart

nginx

sudo service nginx restart

ফাস্টসিজি_পাস ইউনিক্স: /run/php/php7.0-fpm.sock; ভুল. এটি /var/run/php/php7.0-fpm.sock হওয়া উচিত; এবং আপনি যা ইনস্টল করেছেন তার সাথে আপনাকে নির্দিষ্ট পিএইচপি সংস্করণ আপডেট করতে হবে, উদাহরণস্বরূপ: /var/run/php/php7.2-fpm.sock;
ভ্যানআলবার্ট

4

আমার জন্য এটি ?$query_stringনীচের মতো /index.php এর শেষে যুক্ত করতে সহায়তা করেছে :

location / {
        try_files $uri $uri/ /index.php?$query_string;
}

3

যদি প্রস্তাবিত উত্তরগুলির কোনও কাজ না করে থাকে তবে এটি চেষ্টা করে দেখুন:

1.fix www.conf ইত্যাদি। / পিএইচপি 5 / এফপিএম / পুল.ডে:

listen = 127.0.0.1:9000;(delete all line contain listen= )

2.Fix nginx.conf in usr / local / nginx / conf:

remove server block server{} (if exist) in block html{} because we use server{} in default (config file in etc/nginx/site-available) which was included in nginx.conf.

৩। ইত্যাদি / এনগিনেক্স / সাইট-উপলভ্য ডিফল্ট ফাইল ঠিক করুন

location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; }

4.আরম্ভ nginx পরিষেবা

sudo পরিষেবা nginx পুনঃসূচনা

5. পিএইচপি পরিষেবাটি পুনরায় শুরু করুন

পরিষেবা php5-fpm পুনরায় আরম্ভ করুন

6.enjoy

/ Usr / share / nginx / html এ যে কোনও পিএইচপি ফাইল তৈরি করুন এবং "সার্ভার_নাম / ফাইল_নাম.পিএফ" তে চালান (সার্ভার_নাম আপনার কনফিগারেশনের উপর নির্ভর করে, সাধারণত স্থানীয় লোকস্ট হয়, ফাইল_নাম.পিএফপি ফাইলের নাম যা / ইউএসআর / শেয়ার / এনগিনেক্সে তৈরি হয়েছিল / এইচটিএমএল)।

আমি উবুন্টু 14.04 ব্যবহার করছি


2

উপরের উত্তরটি দেখেছি যে সমাধানটি আমি পৌঁছেছি তার জন্য খুব বেশি মন্তব্য করেছে। আমার ফাইলটি দেখতে এটির মতো:

জন্য / etc / nginx / সাইট-উপলব্ধ / Default

location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

আশা করি এটি রবিবার বিকালে হতাশ হওয়া কিছু লোককে সহায়তা করবে (সি:


2
server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/html;
    index index.php index.html index.htm;

    location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}

উপরের স্নিপেটগুলি php7.2 এর ক্ষেত্রে আমার পক্ষে কাজ করেছিল


1

পিএইচপি 7 এর সাথে একই সমস্যার কারও জন্য, আমি সেন্টিনস 7-তে সঠিকভাবে এনজিএনএক্স পিএইচপি ফাইলগুলি সম্পাদন করার জন্য এটি করেছি, কারও ক্ষেত্রে একই সমস্যা হওয়ার কারণে এখানে পোস্ট করা হয়েছে:

  • ডিজিটাল মহাসাগরে এই নথিটি ধাপে ধাপে অনুসরণ করুন ।

  • খুলুন /etc/nginx/conf.d/default.conf(ডিফল্টরূপে আমার কাছে সাইট-সক্ষম নেই এবং সাইট-উপলব্ধ নেই, আপনি সেই অনুযায়ী সম্পাদনা করতে পারেন)।

  • locationনীচে হিসাবে পরামিতি সম্পাদনা করুন :

default.conf :

location ~ \.php$ {
    try_files $uri =404;
    #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

    #instruct nginx execute php7 files instead download them :D
    fastcgi_pass unix:/var/run/php-fpm/www.sock;

    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}
  • Nginx এবং পিএইচপি পরিষেবাগুলি sudo systemctl restart php-fpmএবং পুনরায় চালু করুন sudo systemctl restart nginx

  • শেষ তবে সবচেয়ে গুরুত্বপূর্ণ, সাফ ব্রাউজার ক্যাশে বা চলমান incognito (Chrome)বা Private Browsing (Firefox)ইত্যাদি ...

আশা করি এই সহায়ক এবং খুশির কোডিং


1

আমার সমাধানটি যুক্ত করা ছিল

    location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;

উদাহরণস্বরূপ, আমার কাস্টম কনফিগারেশন ফাইলটিতে etc/nginx/sites-available/example.com.conf

যোগ করা /etc/nginx/sites-available/defaultআমার পক্ষে কাজ করে না।


1

আমি আমার ক্ষেত্রে আমি ব্যবহার /etc/nginx/sites-available/defaultকরছি না আমি একটি পৃথক সার্ভার ব্লক কনফিগারেশন ফাইল ব্যবহার করছিলাম (উদাহরণস্বরূপ। Com), এবং আমি এই সমস্যাটি সমাধান করার একমাত্র উপায় হ'ল ডিফল্ট সার্ভার ব্লক কনফিগারেশন ফাইল প্রতীকী লিঙ্কটি সরিয়ে ফেলা:

$ rm /etc/nginx/sites-enabled/default

তারপরে Nginx পুনরায় লোড হচ্ছে:

$ sudo systemctl reload nginx

1

আমি এখনই এই কোডটি দিয়ে আমার সমস্যার সমাধান করেছি (আপনার আইপি পরিবর্তন করুন):

location / {
access_log off;
    log_not_found  off;
    client_max_body_size    2000m;
    client_body_buffer_size 512k;
    proxy_buffering on;
    proxy_send_timeout 300s;
    proxy_read_timeout 300s;
    proxy_buffer_size 64k;
    proxy_buffers 32 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    proxy_connect_timeout 300s;
    proxy_http_version 1.1;
    proxy_set_header Range "";
    proxy_pass   https://123.123.123.123:444;
    proxy_set_header   Host   $host;
    proxy_set_header   X-Real-IP  $remote_addr;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Proto $scheme;
    proxy_redirect     off;
}

0

উবুন্টু 16.04 এর সাথে আমার জন্য কী কাজ করেছিল এবং পিএইচপি 7 এই লাইনটি মুছে ফেলছিল

fastcgi_split_path_info ^(.+\.php)(/.+)$;

এটি এর পরে পিএইচপি ফাইলগুলি ডাউনলোড করা বন্ধ করে দিয়েছে।


0

/ ইত্যাদি / এনগিনেক্স / সাইট-উপলব্ধ / ডিফল্ট মধ্যে .pp অবস্থান মন্তব্য করুন

sudo vi / ইত্যাদি / nginx / সাইট-উপলব্ধ / ডিফল্ট:

location ~ \.php$ {
            include snippets/fastcgi-php.conf;

            # With php5-cgi alone:
    #       fastcgi_pass 127.0.0.1:9000;
            # With php5-fpm:
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }

0

অন্য কিছু যদি আপনাকে সহায়তা না করে। এবং সম্ভবত এর আগে আপনি তথ্য.এফপিপি পরীক্ষা ফাইলের সাথে অ্যাপাচি 2 ইনস্টল করেছেন। লোকালহোস্টের জন্য কেবল অ্যাপ ডেটা (ক্যাশে, কুকি) সাফ করুন।


0

আপনার এনজিএনএক্স কনফিগার ফাইলের এক্সটেনশনটি * .conf check
উদাহরণস্বরূপ: /etc/nginx/conf.d/myfoo.conf

আমিও একই অবস্থা পেয়েছি। আমি আমার কনফিগার ফাইলটি মাইফু থেকে মাইফু কোডফের নামকরণ করার পরে এটি ঠিক হয়ে গেছে। নাম পরিবর্তন করার পরে nginx পুনরায় চালু করতে ভুলবেন না।


0

প্রথমে আপনাকে Remove cacheআপনার ব্রাউজারে রাখতে হবে

তারপরে টার্মিনালটি খুলুন এবং নিম্নলিখিত কমান্ডটি চালান:

sudo apt-get install php-gettext
sudo nano /etc/nginx/sites-available/default

তারপরে defaultফাইলটিতে নিম্নলিখিত কোড যুক্ত করুন:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ =404;
    }

    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;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

যদি কোনও অমিল থাকে তবে নিম্নলিখিত কমান্ডটি দ্বারা টার্মিনাল থেকে Nginx পুনরায় চালু করতে হবে

sudo systemctl পুনরায় আরম্ভ করুন nginx

তারপরে ব্রাউজারে যান এবং উপভোগ করুন ...


0

আমার জন্য এটি লাইনটি ছিল: ফাস্টকিজি_পাস ইউনিক্স: /var/run/php5-fpm.sock;

যা কেবলমাত্র ছিল: ফাস্টসিগি_পাস ইউনিক্স: /run/php5-fpm.sock;


0

আমি এটি ঠিক করার চেষ্টা করার জন্য মানসিক দিকে যেতে চলেছিলাম, আমার কাছে সমস্যাটি ছিল ক্লাউডফ্লেয়ার পিএইচপি ফাইলকে ক্যাশে করেছিল এবং আমাকে এটি ডাউনলোড করতে বাধ্য করে।

আমার জন্য সমাধানটি ছিল ক্লাউডফ্লেয়ারের ক্যাশে মুছে ফেলা।


আপনি আমাদের বলতে চান কিভাবে?
থারস্টেন স্টার্ক

0

আমার একই সমস্যা হচ্ছিল যা সমাধান হয়েছে এটি হ'ল এই সার্ভার ব্লকটিও অন্য ব্লকগুলির উপরে এই ব্লকটি রয়েছে যদি আপনার সিএসএস সমস্যা লোড না হয়। যা আমি আমার সাইটগুলি উপলভ্য কনফ ফাইলটিতে যুক্ত করেছি।

location ~ [^/]\.php(/|$) {
fastcgi_split_path_info  ^(.+\.php)(/.+)$;
fastcgi_index            index.php;
fastcgi_pass             unix:/var/run/php/php7.3-fpm.sock;
include                  fastcgi_params;
fastcgi_param   PATH_INFO       $fastcgi_path_info;
fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

0

সুতরাং অবশেষে আমার ক্ষেত্রে এটিই পুনর্লিখনের নিয়ম হিসাবে কাজ করেছে যেখানে
আমি যে অপরাধী নীজিনেক্স পুনর্লিখনের নিয়মগুলি নীচে পরিবর্তন করেছি ..

   location /vendors { rewrite ^/vendors/?$ /vendors.php break; } 

হয়ে ...

  location /vendors { rewrite ^/vendors/?$ /vendors.php last; }

দৃশ্যত শেষ কীওয়ার্ড ব্যতীত অনুরোধটি পুনরায় আরম্ভ করা হয়নি, সুতরাং এটি কখনই .phpঅবস্থান বিভাগে আঘাত করে নি এবং এটি ডাউনলোড হিসাবে কেবল ব্যাখ্যা করা হয়েছিল -


0

একটি রেকর্ডের জন্য, আমি দেখতে পেলাম যে আমার পিএইচপি-এফপিএম চলছে না এবং আমি এটি দিয়ে ঠিক করেছি fixed service php7.2-fpm stop


0

আরও একটি জিনিস যাচাই করে দেখুন: আপনি যদি পিএইচপি স্থাপনের আগে এইচটিটিপিএস অ্যাক্সেস সেট আপ করে থাকেন - আমি সার্টিবোট ব্যবহার করেছি - আপনার / etc / nginx / সাইটগুলি উপলব্ধ / ডিফল্টে দুবার পরিবর্তন করতে হবে হবে কারণ দুটি হবে সার্ভার ব্লক (একটি পোর্ট 80 শুনাচ্ছে এবং 443 পোর্টে একটি শুনছে)।

(আমি এই সার্ভারটি প্রাথমিকভাবে ইমেলের জন্য সেট আপ করছিলাম এবং যখন প্রথম প্রথম এনজিএনএক্স ইনস্টল করলাম তখন স্রেস্টবোট আরও সহজে চালানোর উপায় হিসাবে))

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.