Articles of PHP

Nginx经常返回404

我在Ubuntu 14.04中有一个Nginx 1.4的服务器,它运行的是PHP5-fpm。 服务器在私有云服务器中有多个域和子域。 服务器从stream量中获得一致的点击量并且很多。 一切都很好,但Nginx经常返回404,而事实上并没有在实际的情况下,尝试之后,它返回的实际输出,而不是404。下面是我的一个从nginxconfiguration的服务器块的一个例子。 server { listen 80; #listen [::]:80; root /var/www/appfolder; index index.php index.html index.htm; # Make site accessible from http://localhost/ server_name domain-name; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; # Uncomment to […]

无法链接到systemd下的共享库

systemd做链接共享库有趣吗? 我有一个php扩展,它在php扩展目录之外加载一个共享库。 如果我运行php-cli或从CLI启动php-fpm,它将按预期工作,而phpinfo()将显示扩展如何构build: Compile-time ORACLE_HOME /path/to/oracle_home Libraries Used -Wl,-rpath,/path/to/oracle_home/lib -L/path/to/oracle_home/lib -lclntsh 当使用systemd(systemctl)启动php-fpm时,这个错误出现在日志中: NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/oci8.so' – libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0 -lclntsh不应该使用rpath来查找所需的库吗? 为什么systemd打破这个? 注意:将以下内容添加到单元文件不起作用: Environment=LD_LIBRARY_PATH=/path/to/oracle_home/lib 在/etc/ld.so.conf.d/下也不会有帮助

编译一个PHP,我如何在Apache中加载它?

我在Ubuntu16上从源代码编译并安装了PHP7.1.7。 我遵循这个教程: http : //www.shaunfreeman.name/installing-php-7-on-ubuntu-16-04/ 我跟着它到了他添加的东西到modules.ini文件的地方。 现在,Apache没有加载任何PHP,所以我安装了 sudo apt-get install libapache2-mod-php 现在Apache加载了PHP,但版本不同,也没有我编译的PDO驱动程序。 我用phpinfo()检查了这个 Apache显示了7.0.18,而我安装了7.1.7。 我不知道如何安装第二个版本(也许是libapache2-mod-php?) 另外在/ usr / bin中的php可执行文件是7.0.18,所以我删除了它,并创build了一个符号链接到我的7.1.7,所以至less在terminal的PHP工作与正确的版本。 我需要让Apache使用这个新版本。 事情尝试: 在同一个问题上的许多其他答案(如这个 )说,我只需要加载我的apache2configuration不同的模块。 但是我在我的系统上找不到与php7.1.7相关的模块。 我有一个php7.0,我相信这是加载的Apache。

apache – 在Ajax请求,2分钟后返回“不允许”

我在PHP中创build了一个小应用程序,其中一个模块是通过Ajax“导入”数据。 它是如何工作的: 用户点击“开始” Ajax函数发送POST请求(一次性使用)到“在后台”工作的后端方法 完成所有操作后,返回响应。 在我的开发env的思想是好的,进程可以运行多less需要,但在另一台服务器每次2分钟后。 返回“方法不允许”,所以我有问题: – 这个服务器运行在Apache 2.4 – Apache的configuration超时的请求? 或者,也许有人有另一个想法,问题在哪里?

如何在mod_wsgi的相同域(apache2)上运行Django和PHP?

我想在同一个域中运行Django和PHP(例如,当我访问192.168.14.10时,索引页面正确显示,PHP从索引页面调用)。当我运行下面的代码时,HTML代码中的数据只是完整的PHP和PHP的代码不起作用。 HTML(myproject / templates / test.html) <body> <form id="form_test"> <button type="button" onclick="exec_php()">Send</button> <script> function exec_php() { var formdata = new FormData($('#form_test').get(0)); $.ajax({ url: "../testphp", type: "POST", data: formdata, cache: false, contentType: false, processData: false, dataType: "text" }) .done(function (data, textStatus, jqXHR) { alert("data: " + data); }) .fail(function (jqXHR, textStatus, errorThrown) { alert("fail"); }); } […]

Nginx + PHP没有findindex.php 404

我用nginx 12和php7.1运行debian 9 我已经设置好了。 Nginx不会在错误日志中给我任何东西,所有的PHP脚本都100%正常工作。 Nginx索引index.html作为索引,但没有findindex.php并返回404,即使我已经在nginxconfiguration中设置它。 这是我的nginxconfiguration: server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: […]

服务器不会加载其他页面,直到请求送达

我有一个问题,我的服务器,当用户打开特定链接的网站(即主页)在一个标签,如果需要一些时间来加载,然后打开其他页面(即关于或联系页面)的新选项卡中的同一网站也需要时间。 一旦第一页(主页)加载,其他页面也加载。 为什么发生这样的事情,是否有任何服务器端configuration问题来处理这样的事情? 我正在运行PHP Laravel应用程序,而Apache和MySQL分别托pipe在Amazon上的多个xlarge实例上。

Apache为Firefox提供的自定义401错误页面不是IE或Chrome Kerberos授权

我有一个使用Kerberos身份validation的Intranet站点。 我有问题,当用户不允许访问 在Firefox中,在.htaccess中设置的ErrorDocument 401可以正常工作,但在IE / EDGE / CHROME中会出现浏览器错误(请参见下文) 铬: 此网站无法联系到 http:// mysite /的网页可能暂时closures,或者可能永久移动到新的url。 ERR_INVALID_RESPONSE IE / EDGE: 无法访问此页面 •确保urlhttp:// mysite /正确•在Bing上search此网站•刷新页面 更多信息更多信息 与网站的连接被重置。 错误代码:INET_E_DOWNLOAD_FAILURE 的.htaccess AuthType Kerberos AuthName "Staff Intranet" KrbAuthRealms DOMAIN.LOCAL KrbServiceName HTTP Krb5Keytab /etc/kerberos.keytab KrbMethodNegotiate On KrbSaveCredentials On KrbMethodK5Passwd On KrbAuthoritative off KrbVerifyKDC off KrbLocalUserMapping On AuthLDAPURL "ldap://DOMAINCONTROLLER/DC=DOMAIN,DC=local?sAMAccountName" AuthLDAPBindDN "CN=IntranetSites,OU=Non-staff,OU=Users,DC=DOMAIN,DC=local" AuthLDAPBindPassword "PASSWORD" Require […]

PHP FastCGI – PHPRC如何工作

在我的Apacheconfiguration中,我有一个奇怪的情况。 我决定使用FastCGI和多个版本的PHP。 以下是我的configuration文件。 如果我检查phpinfo(); 我可以看到,在域localhost它是加载php.ini文件夹php56 。 还行吧。 我不明白,为什么在域localhost7它是加载php.ini文件夹php71 。 我不会为PHP7改变PHPRC ,但它正在加载不同的configuration文件。 这是如何工作,或为什么它是从不同的文件夹中加载php.ini? 如果我将PHPRC改为完全不同的文件夹,它也可以。 这是不是常量没有使用,或者是因为我在Windows(不同的行为)? <IfModule fcgid_module> FcgidInitialEnv PATH "C:/www/xampp/php5.6;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;" FcgidInitialEnv SystemRoot "C:/Windows" FcgidInitialEnv SystemDrive "C:" FcgidInitialEnv TEMP "C:/www/xampp/tmp" FcgidInitialEnv TMP "C:/www/xampp/tmp" FcgidInitialEnv windir "C:/WINDOWS" FcgidIOTimeout 64 FcgidConnectTimeout 16 FcgidMaxRequestsPerProcess 1000 FcgidMaxProcesses 3 FcgidMaxRequestLen 8131072 # Location php.ini: FcgidInitialEnv PHPRC "C:/www/xampp/php5.6/" FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000 <Files ~ […]

Postfix在AUTH之后丢失连接

Postfix邮件服务器安装在CentOS 7.3上,Nginx php-fpm。 发送邮件从控制台工作,但使用PHP邮件function,它不起作用。 如果需要,我可以添加php.ini。 我从日志中获得错误。 我已经附加了postfixconfiguration以及任何人都可以猜测什么是可能的错误。 错误日志 connect from server1.domain.com[1.1.1.1] lost connection after AUTH from server1.domain.com[1.1.1.1] disconnect from from server1.domain.com[1.1.1.1] postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 home_mailbox = […]