Rumah > Soal Jawab > teks badan
Mengikut langkah di bawah, masalah pelik berlaku.
Saya mencipta projek, test
, menggunakan alat phalcon-devtools-2.0.13.
Kemudian, ia berjalan dengan jayanya!
Selepas itu, saya menukar kandungan berikut:
< /p>
Tiada masalah:
< /p>
Tetapi:
< /p>
Saya menambahkan laluan dan berlaku kesilapan:
< /p>
Maaf, apa yang berlaku? Saya kini php5.6
phalcon2.0
konfigurasi nginx:
pelayan {
dengar 80;
ujian nama_pelayan;
root /Users/ryugou/test/public;
indeks index.php index.html index.htm;
charset utf-8;
lokasi/{
try_files $uri $uri/ /index.php;
}
lokasi ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index /index.php;
sertakan fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
lokasi ~ /\.ht {
menafikan semua;
}
}
PHPz2017-05-16 13:15:09
Masalah alam sekitar bukanlah pepijat dalam versi php atau versi Phalcon, tetapi masalah konfigurasi nginx!
Perangkap!
Maklumat URI lalai Phalcon diperoleh daripada $_GET['_url'], atau ia boleh ditetapkan kepada $_SERER['REQUEST_URI'].
Menggunakan dua kaedah berbeza ini untuk mendapatkan memerlukan konfigurasi nginx yang berbeza! ! (Untuk butiran, sila lihat dokumentasi Phalcon Konfigurasi nginx Phalcon)
Ini mesti dikonfigurasikan!
Gunakan $_GET['_url'] (lalai):
lokasi / {
try_files $uri $uri/ /index.php?_url=$uri&$args;
}
Gunakan $_SERVER['REQUEST_URI'], konfigurasi nginx:
lokasi / {
try_files $uri $uri/ /index.php;
}
Jika anda ingin menggunakan $_SERVER['REQUEST_URI'] secara biasa, tidak mengapa jika nginx dikonfigurasikan, anda masih perlu mengubahnya dalam kod php:
gunakan PhalconMvcRouter;
$router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI);