我的编译配置:
./configure \
--with-fpm \
--with-libevent=shared,/usr/lib \
--with-mcrypt \
--with-zlib \
--with-curl \
--enable-mbstring \
--with-openssl \
--with-mysql \
--with-mysql-sock \
--with-gd \
--with-jpeg-dir=/usr/lib \
--enable-gd-native-ttf \
--without-sqlite
Run Code Online (Sandbox Code Playgroud)
phpinfo 页面输出如下所示
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: none
Run Code Online (Sandbox Code Playgroud)
并且 /usr/local/lib 中没有 php.ini。
我的环境:Ubuntu 9.10 64bit,nginx 0.8.32
我在 ubuntu 上有一个带有 apache/php 的专用服务器,为我的 Wordpress 博客提供每天大约 10K+ 的综合浏览量。我在 APC 上安装了 W3TC 插件。
但是服务器时不时地停止响应或变慢,我必须重新启动 apache 才能恢复它。
这是我的配置我做错了什么?
ServerRoot "/etc/apache2"
LockFile /var/lock/apache2/accept.lock
PidFile ${APACHE_PID_FILE}
TimeOut 40
KeepAlive on
MaxKeepAliveRequests 200
KeepAliveTimeout 2
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 8
ServerLimit 80
MaxClients 80
MaxRequestsPerChild 1000
</IfModule>
<IfModule mpm_worker_module>
StartServers 3
MinSpareServers 3
MaxSpareServers 3
ServerLimit 80
MaxClients 80
MaxRequestsPerChild 1000
</IfModule>
<IfModule mpm_event_module>
StartServers 3
MinSpareServers 3
MaxSpareServers 3
ServerLimit 80
MaxClients 80
MaxRequestsPerChild 1000
</IfModule>
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP} …Run Code Online (Sandbox Code Playgroud) 在这里使用 Ubuntu 12.04、nginx 和 php5-fpm
我让 mongo 在 php 5.3 上运行良好,然后我添加了 ondrej/php5 ppa 并更新到 php5.4。它保留了 GD 和 CURL 扩展,但不保留 mongo。我将该行重新添加到 php.ini 文件中,但什么也没添加。然后我启用了启动错误并得到了这个:
PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/mongo.so' - /usr/lib/php5/20100525/mongo.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
所以,疯狂的猜测,我做了find -name 'mongo.so'并将文件从 20090626/ 移动到 20100525/ ...这导致了这个错误:
PHP Startup: mongo: Unable to initialize module
Module compiled with module API=20090626
PHP compiled with module API=20100525
These options need to match
Run Code Online (Sandbox Code Playgroud)
然后我做了pecl uninstall mongo和pecl install …
我花了几个小时弄清楚如何安装 Nginx + Ruby 企业版 + PHP5-fpm 和 MYSQL,最后都安装好了,一切似乎都开始正常了。
但由于某种原因,php 文件没有被处理。
.html 文件工作正常,但是当我尝试查看 .php 文件时,它看起来好像不存在,即使它确实存在。有趣的是,当我尝试查看一个不存在的 .html 文件时,我收到了一个很好的 Nginx 404 消息,但是当我查看一个 .php 文件时,它甚至没有给我。
所以我的新手理解,看起来配置有问题,或者 Nginx 和 PHP-fpm 没有相互交谈。
我一直在查看 nginx 配置文件的许多其他示例,我确信这方面没问题。好吧……无论如何,这是conf文件的相关部分:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/eman/$fastcgi_script_name;
include fastcgi_params;
}Run Code Online (Sandbox Code Playgroud)
和
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏。
编辑:以下是从测试 php 文件“ http://eman.id.au/test.php ”返回的标头:
HTTP/1.1 404 Not Found =>
Server => nginx/0.8.54
Date => Thu, …Run Code Online (Sandbox Code Playgroud) 我不得不在我的服务器上进行 Debian dist-upgrade……在此过程中,PHP 升级到 5.4。我们使用的 ioncube 最多只支持 5.3 atm,我在寻找如何从 5.4 降级到 5.3 时遇到了一些麻烦。有谁知道怎么做?
我想在 php-fpm conf 文件中设置通常在 php.ini 中设置的值。我正在使用 nginx。
我已经创建了以下设置,但我不确定这是否可行。
php_value[memory_limit] = 96M
php_value[max_execution_time] = 120
php_value[max_input_time] = 300
php_value[php_post_max_size] = 25M
php_value[upload_max_filesize] = 25M
Run Code Online (Sandbox Code Playgroud)
你觉得这样可以吗?
当一个值同时在 php.ini 和 php-fpm conf 文件中设置时会发生什么?php-fpm 覆盖了 ini 吗?
最后,这样我可以为所有虚拟主机设置不同的值不是一个问题吗?我的意思是 php.ini 似乎是一个全局设置,而这取决于主机。不同的主机是否可以使用不同的内存限制等运行?
我目前正在我的一个网站上试用 HTTPS,并且我从受信任的 CA 获得了试用证书。我已经完成了以下清单:
a2enmod ssl输入 SSL 指令:
SSLEngine on
SSLCertificateKeyFile /etc/ssl/ssl.key/server.key
SSLCertificateFile /etc/ssl/ssl.crt/api_my_site_com.crt
SSLCertificateChainFile /etc/ssl/ssl.crt/apimysite.com-bundle
仅检查 apache 正在侦听端口 443 lsof
但是,当我尝试浏览https://my-site.com(显然不是真正的域)时,出现“连接被拒绝”错误。这是Apache记录的内容:
[Sat Jul 20 22:50:34 2013] [info] Loading certificate & private key of SSL-aware server
[Sat Jul 20 22:50:34 2013] [info] Configuring server for SSL protocol
[Sat Jul 20 22:50:34 2013] [info] …Run Code Online (Sandbox Code Playgroud) Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1540673 bytes) in /home/appdev/glicious/Nutrition.php on line 41
如果您没有注意到,134217728 比 1540673 大两个数量级。
我已经将我的 php 更新到 5.4.13 等版本,并且在终端中我的 php 版本说明了这一点
PHP 5.4.12 (cli) (built: Mar 16 2013 21:46:23)
Run Code Online (Sandbox Code Playgroud)
但是运行 composer install io 会出现以下错误。
The requested PHP extension ext-mcrypt * is missing from your system
Run Code Online (Sandbox Code Playgroud)
无论如何,我已经尝试了几种方法来使其正常工作等,但没有任何效果:
我使用了以下方法:解决方案一和解决方案二,它们都使用类似的方法,但我仍然存在错误。
然后我做了一个 php info 测试,这表明版本是5.3.15并且mycrypt 说启用了 mcrypt 支持
所以我的服务器使用这个 php,我的终端中的一个使用另一个,就像它看起来的那样
任何想法如何解决这一问题?
我正在使用带有 Mountain Lion Sever(最新)、xcode 的 MAC Mountain Lion,所有操作都是最新的,我已经重新启动了服务器。
restart我php fpm在我的 Ubuntu 服务器上似乎无法使用
我做了
ps辅助| grep php-fpm
我有
root 1543 0.0 0.7 444672 7552 ? Ss Nov10 2:14 php-fpm: master process (/etc/php/5.6/fpm/php-fpm.conf)
forge 1587 0.0 4.3 687152 43728 ? S Nov10 9:47 php-fpm: pool www
forge 3443 0.0 2.8 458504 28784 ? S Nov10 9:44 php-fpm: pool www
root 3569 0.0 0.0 14520 932 pts/0 S+ 21:36 0:00 grep --color=auto php-fpm
forge 26548 0.0 2.5 451148 25884 ? S Nov21 0:26 php-fpm: pool www
Run Code Online (Sandbox Code Playgroud)
然后当我尝试
须藤服务 …