移動了一個php/xml程序,提交在線表單,將結果的電子郵件發送給指定收件人作爲pdf附件。從EC2實例移動到GCE實例後,php程序出錯=無法訪問文件:/ var/www/html/
在Amazon EC2(以及其他基本託管帳戶)上運行SYSTEM WORKS FINE,但在Google的GCE上發生故障。
已移至Google Compute Engine GCE,但找不到或無法解決此錯誤。
未發送電子郵件。這使得它的感謝頁面,在頁面頭部PHP的錯誤:
無法訪問文件:/var/www/html/temp/98r34prqp98ipjqoipe9898jo.pdf
所有路徑和配置路徑是正確的並已被觀察一百萬次。
所有的用戶,包括apache,root,我的用戶都被分配到了在/ var/www中擁有-R 775權限的組www。
/temp已經777'd。
另外:
須藤蘇
CHOWN -R根:萬維網/無功/網絡
CHMOD 2775 /無功/網絡
查找/無功/網絡型d -exec CHMOD 2775 {} +
查找/無功/網絡型的F -exec CHMOD 0664 {} +
也嘗試了上述的方法,讓每個用戶都擁有chown,然後進行測試,root:www,apache:www,myuser:www ...沒有運氣。
做其他的事情: 安裝了Apache,PHP,後綴,PHP-GD,PHP梨,mod_ssl的 (沒有使用數據庫)
阿帕奇已重新啓動一萬次。
httpd_can_sendmail - >上
編輯製作爲php.ini
使用PHPMailer的精簡版5.1版
error_log中顯示,除了一個約時區的警告沒有錯誤: [錯誤] [客戶0x0x0x0x ] PHP警告:date():依靠系統的時區設置是不安全的。您需要需要才能使用date.timezone設置或date_default_timezone_set()函數。 .... blaa,blaaa ....
可能性/差異:
- EC2有PHP版本28年3月5日和GCE具有PHP版本的EC2與5.3.3
- 不同的Java版本GCE?系統使用.jar文件。
有一些httpd.conf虛擬主機配置應該在GCE上有所不同?(我已經粘貼下面的一些httpd.conf中的信息的。
缺少一些模塊?這裏的模塊...... [PHP模塊] BZ2 日曆 核心 CTYPE 捲曲 日期 DOM 額日格 EXIF 的FileInfo 濾波器 FTP GD gettext的 GMP 散列 的iconv JSON 的libxml OpenSSL的 了pcntl PCRE 的Phar 的readline 反思 會議 shmop 的SimpleXML 插座 SPL 標準 標記者 WDDX XML 的XMLReader 的XmlWriter XSL 拉鍊 zlib的
下面是一些該httpd.conf信息: 系統在htaccess文件中強制使用ssl。 端口443是在防火牆還通過谷歌開發者控制檯
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<VirtualHost *:80>
DocumentRoot /var/www/html/
ServerName www.MYDOMAIN.com
</VirtualHost>
NameVirtualHost *:443
<VirtualHost *:443>
DocumentRoot /var/www/html/
ServerName www.MYDOMAIN.com
ServerAlias MYDOMAIN.com www.MYDOMAIN.com
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /var/www/SSL/MYDOMAIN.cert
SSLCertificateKeyFile /var/www/SSL/MYDOMAIN.key
SSLCertificateChainFile /var/www/SSL/MYDOMAIN_intermediate.cert
SetEnvIf User-Agent 「.*MSIE.*」 nokeepalive ssl-unclean-shutdown
</VirtualHost>
很沮喪:(
你按照什麼步驟設置你的gce實例?與Ec2實例有什麼不同? –
所有實例標準設置:創建實例/ centos,網絡tcp:80,443,apache,php,postfix,mod_ssl,... httpd.conf配置,重新啓動,添加用戶/組/權限...配置postfix/sendgrid ...除了它不會將pdf寫入/ temp文件夾,以便sendmail可以將其提取出來之外,所有工作都可以正常工作。也許Google的Java存在問題。 – StackitUp
由於添加了sendgrid,這是另一個問題(Google Compute Engine不允許從實例發送電子郵件),現在有一些java錯誤。 異常在線程 「主」 顯示java.lang.NullPointerException 在java.lang.VMClassLoader.defineClass(libgcj.so.10) 在需要java.lang.ClassLoader.defineClass(libgcj.so.10) 在java.security .SecureClassLoader.defineClass(libgcj.so.10) at java.net.URLClassLoader.findClass(libgcj.so.10) at java.lang.ClassLoader.loadClass(libgcj.so.10) at java.lang.ClassLoader .loadClass(libgcj.so.10) at gnu.java.lang.MainThread.run(libgcj.so.10) – StackitUp