包含 apache 标签的文章

PHP 加载 php_curl.dll 时启动出现 PHP Warning: PHP Startup: in Unknown on line 0 错误的解决办法

最近升级了一下开发环境的 PHP 版本,结果启动后一直找不到 curl 相关函数,查看日志,发现 Apache 启动时出现 PHP Warning:  PHP Startup:  in Unknown on line 0 的错误,逐个排查后,发现取消 php_curl.dll 的加载就没有这个错误了。搜索各种查,都说要把几个 dll 文件复制到 Windows 或者 Apache 的目录里,但在我这都不管用,最后发现唯有一个 libssh2.dll 文件复制到 Apache 的 bin 目录才管用。

但是现在可以不用复制文件,就可以解决的办法(洁癖。。),在 Apache 的配置文件中,加入以下配置,即可:

LoadFile "C:/php/libssh2.dll"

里面文件的路径就是你 php 目录下 libssh2.dll 文件路径,根据自己情况修改,然后重启即可。还有一些人的原因是找不到 libeay32.dll 和 ssleay32.dll 这两个文件,解决的办法大致相同。

另外一种办法是把你的 php 目录路径加入到环境变量 Path 中去,记住是系统环境变量,而不是用户环境变量,我的情况是在用户环境变量下,libeay32.dll 和 ssleay32.dll 可以找到但却找不到 libssh2.dll,只有放到系统环境变量下才没有问题。

所以原因大概是 PHP 与 Apache 工作时,无法正确找到动态库文件。原因可能有多种,比如系统参数环境变量、系统文件版本、或者某些重要的设置之类的有不同,比如我家里的电脑上就没这个问题,所以这里的答案仅供参考,也许原因正好相同那就解决了。

Apache + PHP + MySQL Windows 下配置

经常碰到的东西,从来记不清,记一下。
几个软件的安装没有什么说的,这里记录下关键的部分。

php.ini
php.ini 放到 Windows 目录下(建议用 php.ini-dist)
启用 php_mysql.dll 扩展

Path
将 Apache 下的 bin 目录路径和 php 路径(或者加上 php 下的 ext 路径)加入到系统环境变量中

http.conf
启用 LoadModule php5_module D:/php/php5apache2.dll
可以在下面使用 PHPIniDir "D:/php" 参数,指定 php.ini 所在目录位置,在放在 Windows 目录下时无需指定。
AddType application/x-httpd-php .php  让 .php 格式文件可以执行 PHP
增加 DirectoryIndex 中的默认首页 index.php

重启服务吧,关于性能优化什么的找 Google 大神。

Python的开始

昨日研究了一下,把 Python 和 WEB 服务器结合到了一起,原来派森也不难嘛!

因为我用的是 Python3 的,在 Apache 好像还没有和3配合的mod,怎么办呢,我就用 IIS 了,IIS 同样是继承了微软的优良传统,好用,就是这么简单~~

至于IIS上怎么支持 Python ,跟怎么支持 PHP 是一样的,上 Google 或者百度就可以搜到!

感觉 Python 的很好玩的特点就是类似于 PHP 的局部区域使用的不是任何的大扩号等来包括,而是使用缩进来表示,这点很好玩,而且在任何一个 py 文件头部都得输出一个 \n 换行才可以正常使用,不知为何,我想,我的 Python 之旅开始了.

艰苦的搞定IIS5.1+PHP

今天心血来潮,听说 IIS 在 Windows 下对资源的管理比 Apache 要好,我就把系统组件加了一个 IIS,然后用原来 AppServ 自带的 PHP 扩展,把 Apache 的端口换成了 800,前面一切正常,这个 IIS 后来可把我给搞头痛了.为了支持 PHP 我是头痛死了,各种各样的错误层出不穷,我也不知道我改了多少东西,设置了多少东西了,反正现在是好了.
期间出现了:

  1. Server Application Error
    这个问题我用下面的解决掉了:
    • 启动了 Distributed Transaction Coordinator 服务
    • 在CMD下执行以下命令:
      • cd %windir%system32inetsrv
      • rundll32 wamreg.dll, CreateIISPackage
      • regsvr32 asptxn.dll

      但是随即出现了下面的问题

  2. The specified module could not be found.
    这个我不知道怎么搞好的了,总之把 php5isapi.dll,php5ts.dll 那几个文件挪来挪去,路径改来改去,但最后这几个外挪文件全都删了,直接指向的 PHP 目录下的,后来好像是把 Program File 改成 PROGRA~1 就好了,似乎是路径不可以带空格...
  1. Directory Listing Denied.
    (这个是我在试试 ASP 的时候,忘了加一个 index.asp 默认首页)

后面又出了 SESSION 路径的一些问题,我改 php.ini 怎么也不行, phpinfo() 总是原来的那个,郁闷,还重启了电脑.后来才知道,我犯了一个超级低级错误:原来重启 IIS 是重启服务,而不是停止一下再启动一下就行了,我晕!!...

这两天留言本的垃圾留言多了起来,都是些机器人发的垃圾广告,无奈开启了验证码.