Contents [hide]
-
1 常见问题
- 1.1 获取指定版本
- 1.2 “stdint.h”: No such file or directory
- 1.3 “openssl/ssl.h”: No such file or directory
- 1.4 无法打开文件 “objs/lib/openssl-1.0.1e/lib/ssleay32.lib”
- 1.5 error C2220: 警告被视为错误 – 没有生成“object”文件
- 1.6 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “ngx_config.h””?
- 1.7 每次编译的时候都完全编译
- 2 操作流程总结
常见问题
我使用的VS版本是VS2008,遇到了以下问题。
获取指定版本
有时候我们需要的不是最新版本,比如我要下载1.20版本的nignx,首先,我 这里 找1.20的版本号码,很快我找到是f582d662cc408eb7a132c21f4b298b71d0701abb,以下执行顺序就可以拿到指定版本:
“stdint.h”: No such file or directory
这个问题好办,下载缺少的头文件就行了。 https://code.google.com/p/msinttypes/
解压后将头文件目录 C:\Program Files\Microsoft Visual Studio 9.0\VC\include 下面(或者类似的目录)。
“openssl/ssl.h”: No such file or directory
执行 nmake -f objs/Makefile 的时候,可能会出现这样的问题。我们看到这样的路径(objs/lib/openssl-1.0.1e/openssl/include),其实是没有的。办法就是将openssl-1.0.1e/openssl改成openssl-1.0.1e。
或者直接修改生成Makefile的配置
无法打开文件 “objs/lib/openssl-1.0.1e/lib/ssleay32.lib”
不知道nginx项目为什么不生成openssl的库,我通过单独编译生成openssl来解决这个问题。步骤如下:
- 安装perl(我用ActivePerl)
- 解压openssl到C盘,cd C:\openssl-1.0.1e
- 执行perl Configure VC-WIN32
- 运行cmd,将 *”C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.BAT”* 拉到cmd里运行
- cmd内执行 ms\do_ms
- cmd内执行 nmake -f ms\ntdll.mak
好了,将手工生成的 libeay32.lib 和 ssleay32.lib 放到目录 nginx/objs/lib/openssl-1.0.1e 下。问题解决。
error C2220: 警告被视为错误 – 没有生成“object”文件
将 CFLAGS 的 -WX 字段去掉,然后重新生成Makefile以及重新编译
fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “ngx_config.h””?
windows模块开发中会遇到的问题,每个源文件第一行代码必须添加 #include “ngx_config.h”* ,如果不想这样做就吧编译参数 *-Yungx_config.h 去掉。
每次编译的时候都完全编译
执行这行代码的时候 nmake -f objs/Makefile ,每次都要完全编译,好浪费时间啊。原因是这样的,文件 objs/Makefile 里有这样一行:
ssh.h 文件依赖于 objs/Makefile*,但是如果前者修改时间永远都比后者早,就永远都要执行后面的命令了。把字符串 *objs/Makefile 去掉就行了。
操作流程总结
- “C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat”
- “C:\MinGW\msys\1.0\msys.bat”
- cd /c/nginx
- 生成makefile
- nmake -f objs/Makefile
- 启动nginx
参考资料:
Windows下OpenSSL安装配置
本文由吴遥编写,转载请注明出处。
文章链接:http://www.wuyao721.com/nginx-building-windows.html
以上就介绍了windows平台下编译nginx相关问题处理,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kaedah yang berkesan untuk mengelakkan serangan tetap sesi termasuk: 1. Meningkatkan semula ID Sesi selepas log pengguna masuk; 2. Gunakan algoritma penjanaan ID sesi yang selamat; 3. Melaksanakan mekanisme masa tamat sesi; 4. Menyulitkan data sesi menggunakan HTTPS. Langkah -langkah ini dapat memastikan bahawa aplikasi itu tidak dapat dihancurkan apabila menghadapi serangan tetap sesi.

Melaksanakan pengesahan bebas sesi boleh dicapai dengan menggunakan JSONWEBTOKENS (JWT), sistem pengesahan berasaskan token di mana semua maklumat yang diperlukan disimpan dalam token tanpa penyimpanan sesi pelayan. 1) Gunakan JWT untuk menjana dan mengesahkan token, 2) memastikan bahawa HTTPS digunakan untuk mengelakkan token daripada dipintas, 3) menyimpan token dengan selamat di sisi klien, 4) mengesahkan token di sisi pelayan untuk mengelakkan gangguan, 5) melaksanakan mekanisme pembatalan token.

Risiko keselamatan sesi PHP terutamanya termasuk rampasan sesi, penetapan sesi, ramalan sesi dan keracunan sesi. 1. Sesi rampasan boleh dicegah dengan menggunakan HTTPS dan melindungi kuki. 2. Penetapan sesi boleh dielakkan dengan menanam semula ID sesi sebelum log pengguna masuk. 4. Keracunan sesi boleh dicegah dengan mengesahkan dan menapis data sesi.

Untuk memusnahkan sesi PHP, anda perlu memulakan sesi terlebih dahulu, kemudian membersihkan data dan memusnahkan fail sesi. 1. Gunakan session_start () untuk memulakan sesi. 2. Gunakan session_unset () untuk membersihkan data sesi. 3. Akhirnya, gunakan session_destroy () untuk memusnahkan fail sesi untuk memastikan keselamatan data dan pelepasan sumber.

Bagaimana cara menukar laluan penjimatan sesi lalai PHP? Ia boleh dicapai melalui langkah -langkah berikut: gunakan session_save_path ('/var/www/sesi'); session_start (); Dalam skrip PHP untuk menetapkan laluan penjimatan sesi. Tetapkan session.save_path = "/var/www/sesi" dalam fail php.ini untuk menukar laluan penjimatan sesi di seluruh dunia. Gunakan memcached atau redis untuk menyimpan data sesi, seperti ini_set ('session.save_handler', 'memcached'); ini_set (

Tomodififydatainaphpsession, startTheSessionWithSsion_start (), thenuse $ _SessionToset, Modify, Orremovariables.1) startTheSession.2) setOrmodifySessionVariabelinging $ _Session.3) ReveVariablesWithunset ()

Array boleh disimpan dalam sesi PHP. 1. Mulakan sesi dan gunakan session_start (). 2. Buat array dan simpan dalam $ _Session. 3. Dapatkan array melalui $ _Session. 4. Mengoptimumkan data sesi untuk meningkatkan prestasi.

Pengumpulan sampah sesi PHP dicetuskan melalui mekanisme kebarangkalian untuk membersihkan data sesi yang telah tamat tempoh. 1) Tetapkan kebarangkalian pencetus dan kitaran hayat sesi dalam fail konfigurasi; 2) Anda boleh menggunakan tugas cron untuk mengoptimumkan aplikasi beban tinggi; 3) Anda perlu mengimbangi kekerapan dan prestasi pengumpulan sampah untuk mengelakkan kehilangan data.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini
